统计字符串中数字的个数
我选的scanf()函数感觉不好啊
但是跑了一下参考答案的程序 也不是很牛逼啊 输入一行得出一个答案 我的可以输入多行 得出多个答案
#include <stdio.h>
int main(void)
{
int n,i,j;
int a[100];
while(scanf("%d",&n))
{
for(i = 0;i < n;i++)
{
char* str = (char*)malloc(sizeof(char)*100);
char* p;
scanf("%s",str);
for(p = str,j = 0;*p != ' ';p++)
{
if(*p > '0' && *p < '9')
j++;
}
free(p);
free(str);
a[i] = j;
}
for(i = 0;i < n;i++)
printf("%d
",a[i]);
}
return 0;
}
参考答案
#include <ctype.h>
#include <stdio.h>
int main(void)
{
int n, d;
char c;
scanf("%d%*c", &n);
while (n--)
{
for (d = 0 ; (c = getchar()) != '
' ;)
{
if (isdigit(c)) d++;
}
printf("%d
", d);
}
return 0;
}