题目描述
输入一个正整数 repeat (O<repeat<10),做repeat 次下列运算:
输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的个数。
输入
Ilsample
输出
见sample
样例输入
2
acm.zcmu.edu.cn/JudgeOnline ACMICPC.
AC Neng Nian Lai Guo Dao.
样例输出
letter=30,blank=1, digit=0, other=5
letter=19, blank=5, digit=0, other=1
#include <stdio.h>
#include <string.h>
int main(){
char a[1000000];
int n,i;
int l,b,d,o;
unsigned long x;
scanf("%d",&n);
getchar();
while(n--){
gets(a);
x=strlen(a);
l=0;
b=0;
d=0;
o=0;
for (i=0; i<x; i++) {
if((a[i]>='a' && a[i]<='z')||(a[i]>='A'&& a[i]<='Z')){
l++;
}else if (a[i]==' '){
b++;
}else if (a[i]>='0'&&a[i]<='9'){
d++;
}else{
o++;
}
}
printf("letter=%d,blank=%d,digit=%d,other=%d\n",l,b,d,o);
}
return 0;
}
*⚠️用strlen() 要先定义unsigned long x;
*在scanf("%d",&n);后要getchar(); 否则不会换行、
输入字符串也不可以用scanf(会吞掉空格)
但gets()在mac上不可用???说什么不安全。。。蹲个大佬求解