解题思路:这题思路比较清晰,就是判断输入的每个字符属于那种类型,主要用到的是getchar()函数,然后判断当前字符属于那种类型就可以使用库函数:isalpha(),这个是判断字母的;isdigit(),这个是判断数字的。要用到这两个函数需要添加头文件  #include <ctype.h>。

注意事项:  注意while循环的判断条件

参考代码:

#include <stdio.h>
#include <ctype.h>
int main(void)
{
	char ch;  
	int i, j, k, l;   //这些分别用来记数
	i = k = j = l = 0;
	
	while ((ch = getchar()) != '\n')   //利用换行符来结束循环
	{
		if (isalpha(ch))    //isalpha(ch),如果是字母,该函数的返回值为1,if语句为真,i++;
			i++;
		else if (isdigit(ch))   //  同上,如果是数字,返回1,执行j++;
			j++;
		else if (ch == ' ')   //统计空格字符
			k++;
		else                   //统计其他字符
			l++;
	}
	printf("%d %d %d %d\n", i, j, k, l);

	system("pause");
	return 0;
}


点赞(1)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论