问题 1012: C语言程序设计教程(第三版)课后习题6.2
时间限制: 1Sec 内存限制: 128MB 提交: 5019 解决: 2356
题目描述
输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
输入
一行字符
输出
统计值
样例输入
aklsjflj123 sadf918u324 asdf91u32oasdf/.';123
样例输出
23 16 2 4
注意:这里的括号不能丢,因为!=的优先级比=高,如果去掉了外面的括号就等价于 c = (getchar()!='\n');
代码如下:
#include <stdio.h>
int main(void)
{
char s[200],c;
int cnt=0,i,na=0,nb=0,nc=0,nd=0;
while((c=getchar())!='\n')
{
s[cnt]=c;
cnt++;
}
for(i=0;i<cnt;i++)
{
if(s[i]>='a'&&s[i]<='z')//字母
na++;
else if(s[i]>='0'&&s[i]<='9')//数字
nb++;
else if(s[i]==' ')//空格
nc++;
else//其他
nd++;
}
printf("%d %d %d %d",na,nb,nc,nd);
return 0;
}