OJ地址:http://acm.hdu.edu.cn/showproblem.php?pid=2017
对于给定的一个字符串,统计其中数字字符出现的次数。
Input
输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
Output
对于每个测试实例,输出该串中数值的个数,每个输出占一行。
Sample Input
2
asdfasdf123123asdfasdf
asdf111111111asdfasdfasdf
Sample Output
6
9
程序代码:
const int maxn=1010;
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
char s[maxn];
scanf("%s",s);
int count=0;
for(int j=0;j<strlen(s);j++){
if(s[j]>='0'&&s[j]<='9'){
count++;
}
}
printf("%d\n",count);
}
return 0;
}
还可以使用isdigit判断字符是否为数字:
C/C++库函数(isdigit)判断字符是否为数字
const int maxn=1010;
int main(){
int n;
scanf("%d",&n);
for(int i=0;i<n;i++){
char s[maxn];
scanf("%s",s);
int count=0;
for(int j=0;j<strlen(s);j++){
if(isdigit(s[j])){
count++;
}
}
printf("%d\n",count);
}
return 0;
}
运行结果: