题目描述
对于给定的一个字符串,统计其中数字字符出现的次数。字符串长度不超过1000.
输入
输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
输出
对于每个测试实例,输出该串中数字字符的个数,每个输出占一行。
样例输入 Copy
2
asdfasdf123123asdfasdf
asdf111111111asdfasdfasdf
样例输出 Copy
6
9
#include<stdio.h>
#include<math.h>
#include<string.h>
int main()
{
char a[1000];
int n,sum=0,i,len;
scanf("%d",&n);
while(n--)//要计算两行字符串中数字的个数
{
sum=0;
scanf("%s",a);//scanf是以空格 换行符为结束标志,所以在用scanf输入完字符串后要用getchar()把最后一个空格给吃掉。
getchar();
len = strlen(a);
printf("%d\n",len);
for(i=0;i<len;i++)//输入完字符串后对字符串中的每个字符进行遍历,如果是数字sum计数器就++;
{
if(a[i]>='0'&&a[i]<='9')
{
sum++;
}
}
printf("%d\n",sum);
}
}
```c
#include<stdio.h>
int main()
{
int n,t=0,i;
char ch;
scanf("%d",&n);
getchar();
for(i=1;i<=n;i++)
{
t=0;
while(scanf("%c",&ch)&&ch!='\n')//一个一个输入字符,看是否是数字,当输入的字符为回车'\n'时,这个字符串就输入完了
{
if(ch>='0'&&ch<='9')
t++;
}
printf("%d\n",t);
}
return 0;
}
#include<stdio.h>
int main()
{
int n,s=0,c,k,i,j=0;
char a[1000];
scanf("%d\n",&n);
for(i=1; i<=n; i++)
{
gets(a);
c=0;
for(k=0; a[k]!=’\0’; k++)//在字符串中是以’\0’为字符串末尾的
{
if(a[k]>=‘0’&&a[k]<=‘9’)
c++;
}
printf("%d\n",c);
}
return 0;
}
```c