问题及代码:
Problem B: 字符串分段(串)
Time Limit: 1 Sec
Memory Limit: 128 MB
Submit: 121
Solved: 41
[
Submit][
Status][
Web Board]
Description
输入一个字符串,将其分段输出,分段符为除字母和数字之外的符号。
Input
输入一个字符串
Output
输出分段后的字符串
Sample Input
ad/adfa,123d?a1
Sample Output
ad
adfa
123d
a1
/*烟台大学计算机学院
作者:景怡乐
完成时间:2016年12月8日
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0;
char x[1000],c='a',s='q';
do
{
scanf("%c",&x[i]);
s=x[i-1];
c=x[i];
i++;
}
while(c!='\n');
for(i=0; x[i]!='\0'; i++)
{
s=x[i-1];
if(('A'<=x[i]&&x[i]<='Z')||(x[i]>='1'&&x[i]<='9')||('a'<=x[i]&&'z'>=x[i]))
printf("%c",x[i]);
else
{
if(('A'<=s&&s<='Z')||(s>='1'&&s<='9')||('a'<=s&&'z'>=s))//判断前一个是否为字母和数字,是的话输出一个换行,不是的话说明上次以输出换行,不再进行换行。
printf("\n");
}
}
return 0;
}
运行结果:
知识点总结:这道题做的时候遇到一点问题,原来是当有好几个符号时应该只输出一个换行,不该是多个。
学习心得:考虑问题要全面一点。