**解题思路:
本题目标明确,要求将对应类型的字符统计起来并输出数量,那样的话,我们就需要定义两个数组,一个用于记录我们输入的字符串,另一个记录我们输出的目标数字。

判定字符else if是最容易想到的,这里就不提高难度去深究了,我们直接看代码。**

*``

  1. #include<stdio.h>
  2. #include<string.h> //strlen()函数所需要的数据库
  3. int main()
  4. {
  5. char str[100],sum[4]; //str[]存储我们输入的字符串,sum[]存储将要输出的各类字符数目
  6. int x=0,y=0,z=0,k=0; //x记录字母数量,y记录数字数量,z记录空格数量,k记录其他非字母数字空格的符号数量
  7. gets(str); //因为无法判定实际输入字符串的长度,所以直接用gets()函数
  8. int len=strlen(str); //判定str[]的长度
  9. for(int i=0;i<len;i++)
  10. {
  11. if(str[i]>='a'&&str[i]<='z'||str[i]>='A'&&str[i]<='Z') //判定当前字符类型,当前字符是字母则x自增
  12. {
  13. x++;
  14. }
  15. else if(str[i]>='0'&&str[i]<='9') //判定当前字符类型,当前字符是数字则y自增
  16. {
  17. y++;
  18. }
  19. else if(str[i]==' ') //判定当前字符类型,当前字符是字母则z自增
  20. {
  21. z++;
  22. }
  23. else //判定当前字符类型,当前字符是非上述判定类型则k自增
  24. {
  25. k++;
  26. }
  27. }
  28. sum[0]=x;
  29. sum[1]=y;
  30. sum[2]=z; //分别赋值,这一步有点呆
  31. sum[3]=k;
  32. for(int i=0;i<4;i++) //遍历输出所得x,y,z,k的值
  33. {
  34. printf("%d ",sum[i]);
  35. }
  36. }
点赞(0)
 

0 分

0 人评分

 

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论