Problem Description
对于给定的一个字符串,统计其中数字字符出现的次数。
Input
输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。
Output
对于每个测试实例,输出该串中数值的个数,每个输出占一行。
Sample Input
2
asdfasdf123123asdfasdf
asdf111111111asdfasdfasdf
Sample Output
6
9
我的解法:
#include<iostream>
#include<string.h>//必须要引入,否则strlen(str)会出错
using namespace std;
int main(){
int n;
cin>>n;
char str[1000];
int count;
getchar();//注意一定要写上getchar()否则输入完n的值按回车后,
//后面的gets将直接获取到"\n"作为输入值,
//而不等第一次输入的字符串
for(int i=0;i<n;i++){
gets(str);
count=0;
int strl=strlen(str);
for(int j=0;j<strl;j++){
if(str[j]>=48&&str[j]<=57){
count++;
}
}
printf("%d\n",count);
}
return 0;
}
坑点::1.cin后面一定要写上getchar()(因为后面有gets(str))
2.strlen要引入头文件#include<string.h>