- A+
所属分类:未分类
杭电ACM2017
#include <stdio.h>
#include <string.h>
int main(void)
{
int n;
char a[1000];
int i,count;
int l;
while (scanf("%d ",&n)!=EOF)
{
while (n--)
{
gets(a);
count=0;
l=strlen(a);
for(i=0;i<l;i++)
{
if (a[i]>='0'&&a[i]<='9')
{
count++;
}
}
printf("%d\n",count);
}
}
return 0;
}
除了以上写法还有下面的方法,但未经测试,不知AC否
计数函数直接改成
char a[10000];
gets(a);
int l=strlen(a);
int str[123]={0};
int count;
for(i=0;i<l;i++)
{
str[a[i]]++;
}
count=0;
for(i='0';i<='9';i++)
{
count +=str[i];
}
第二种写法事实上是利用了ASCII码,不进行判断,速度会快些,条件是在数很多的情况下