接收输入的一行字符,统计出字符串中包含数字的个数。
输入格式:
输入一行任意的字符串,可以包含包含数字、字母和特殊字符,也可以不包括
输出格式:
输出输入字符串中数字的个数
输入样例1:
在这里给出一组输入。例如:
hello
结尾无空行
输出样例1:
在这里给出相应的输出。例如:
0
结尾无空行
输入样例2:
在这里给出一组输入。例如:
a123b*4_5
结尾无空行
输出样例2:
在这里给出相应的输出。例如:
5
结尾无空行
现给出2种方法:
1.
#include <stdio.h>
#include <stdlib.h>
int main(){
char s[100];
int i=0,b=0;
gets(s); //不想用gets也可以用scanf("%s",s)
while (s[i]!='\0'){ //注意这里的终止符是'\0'
i++;
if (s[i]>=48 && s[i]<=57){ //'0'和'9'的ascll码
b++;
}
}
printf("%d",b);
return 0;
}
2.
#include <stdio.h>
int main()
{
char c;
int digit=0;
while ((c=getchar())!=EOF) //注意这里的终止条件是EOF
{
if (c >= '0' && c <= '9'){
digit++;
}
}
printf("%d",digit);
return 0;
}
*.想一想这两种方法的终止条件为什么不同?