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

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

参考代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#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 人评分

 

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

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

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

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

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

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

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

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

评论列表 共有 0 条评论

暂无评论