问题:编写程序,从键盘输入一个字符串,内有数字和非数字,连续的数字成为一个整数,统计字符串中有多少个数字,并输出
分析:
1,遍历整个字符串,如果遇到是数字,count=1,否则在判断一下count==1吗,如果等于就sum++,sum用来统计整数的个数,同时把count=0
2,碰到'\0',退出循环
3,如果数字是在\0前一个,那么sum不会++,所以在外面判断count是否等于1,如果等于1,就说明'\0’前一个是数字,sum++
代码:
char ch[80];
gets(ch);
int i=0;
int count=0,sum=0;
while(ch[i]!='\0'){
if(ch[i]>='0'&&ch[i]<='9'){
printf("%c",ch[i]);
count=1;
}else{
if(count==1){
printf("\n");
sum++;
}
count=0;
}
i++;
}
printf("\n");
if(count==1){
printf("%d",sum+1);
}else{
printf("%d",sum);
}
结果: