统计字符串中数字的个数
我选的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; }