C语言网 问题 1012: C语言程序设计教程(第三版)课后习题6.2

问题 1012: C语言程序设计教程(第三版)课后习题6.2

时间限制: 1Sec 内存限制: 128MB 提交: 5019 解决: 2356

题目描述

输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。

输入

一行字符

输出

统计值

样例输入

aklsjflj123 sadf918u324 asdf91u32oasdf/.';123

样例输出

23 16 2 4
扫描二维码关注公众号,回复: 3111950 查看本文章

注意:这里的括号不能丢,因为!=的优先级比=高,如果去掉了外面的括号就等价于 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;
}

猜你喜欢

转载自blog.csdn.net/xiaodingqq/article/details/82561529