Adela_rr 2023-11-21 16:16 采纳率: 0%
浏览 5

各位谁会吗?实在不会做这个C语言的题

C语言:由键盘输入一串字符,分别统计大学字母,小写字母,数字,其他字符的个数。比如输入ABCDefjhi123##.输出该字符串有大写4个,小写5个,数字3个,其他2个

  • 写回答

2条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2023-11-21 19:38
    关注

    【以下回答由 GPT 生成】

    #include <stdio.h>
    
    void count_chars(char* str) {
        int uppercase = 0, lowercase = 0, digits = 0, others = 0;
        int i = 0;
        char c;
    
        while (str[i]) {
            c = str[i];
    
            if (c >= 'A' && c <= 'Z') {
                uppercase++;
            } else if (c >= 'a' && c <= 'z') {
                lowercase++;
            } else if (c >= '0' && c <= '9') {
                digits++;
            } else {
                others++;
            }
    
            i++;
        }
    
        printf("大写字母:%d个\n", uppercase);
        printf("小写字母:%d个\n", lowercase);
        printf("数字:%d个\n", digits);
        printf("其他字符:%d个\n", others);
    }
    
    int main() {
        char str[100];
        printf("请输入一串字符:");
        scanf("%s", str);
    
        count_chars(str);
    
        return 0;
    }
    

    这段代码实现了从键盘输入一串字符,并统计其中大写字母、小写字母、数字和其他字符的个数。主要通过遍历字符串的每个字符,判断其属于哪个分类,然后对应的计数器加一。最后输出各个分类的个数。

    注意: - 需要包含stdio.h头文件。 - 使用scanf函数获取输入的字符串,需要指定最大长度以避免内存溢出。 - 在处理字符时,我们可以通过ASCII码进行判断,大写字母的ASCII码范围是65到90,小写字母的范围是97到122,数字的范围是48到57。其他字符即不在上述范围内的字符。 - 可以在主函数中调用count_chars函数,将输入的字符串作为参数传递给它。 - 使用%s作为scanf函数的格式控制字符串,该格式控制字符串用于读取字符串,遇到空格或换行符会停止读取。 - printf函数用于输出统计结果。

    以上是一种具体的解决方案,如果还有其他问题,请告诉我。



    【相关推荐】



    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

问题事件

  • 创建了问题 11月21日