四时宝库

程序员的知识宝库

C语言字符串的秘密:islower、isupper、isdigit和isspace函数

学习工控知识,就来工控小新

农历腊月初三 2024/1/ 13


往期推荐

2024年1月12日,每日一分钟练习C语言,学习路上不能停

2024年1月11日,每日一分钟练习C语言,学习路上不能停

每日一练

/ Daily Exercises

C语言题目:

统计各类字符个数

分别统计一个字符串中出现小写字母、大写字母、数字和3输入格式:

在一行中输入长度不超过40的字符串。

输出格式:

第一行中输出“小写字母=x” 第二行中输出“大写字母=y输入样例:

sd2h b57 sA

输出样例:

小写字母=5

大写字母=1

数字=3

空格=2


题目分析

- 从标准输入中读取一个长度不超过40的字符串,可以使用`scanf`函数和`%s`格式符。

- 遍历这个字符串的每个字符,判断它的类型,然后用四个变量分别记录小写字母、大写字母、数字和空格的个数,可以使用`islower`、`isupper`、`isdigit`和`isspace`函数。

- 在标准输出中按照指定的格式输出这四个变量的值,可以使用`printf`函数和`%d`格式符。

接下来,我们来看一下这个C语言程序的代码。我使用了`stdio.h`和`ctype.h`两个头文件,分别提供了输入输出和字符判断的函数。我在VC6.0的环境下编译和运行了这个程序,得到了正确的结果。

程序展示

#include <stdio.h>
#include <ctype.h>
int main()
{
    char str[41]; //定义一个长度为41的字符数组,留一个位置存放字符串结束符'\0'
    int lower = 0, upper = 0, digit = 0, space = 0; //定义四个变量,分别记录小写字母、大写字母、数字和空格的个数
    int i; //定义一个循环变量
    printf("请输入一个长度不超过40的字符串:\n");
    scanf("%40[^\n]", str); //从标准输入中读取一行字符串,存放在str数组中
    for (i = 0; str[i] != '\0'; i++) //遍历字符串的每个字符,直到遇到字符串结束符'\0'
    {
        if (islower(str[i])) //如果是小写字母,小写字母个数加一
            lower++;
        else if (isupper(str[i])) //如果是大写字母,大写字母个数加一
            upper++;
        else if (isdigit(str[i])) //如果是数字,数字个数加一
            digit++;
        else if (isspace(str[i])) //如果是空格,空格个数加一
            space++;
    }
    printf("小写字母=%d\n", lower); //输出小写字母个数
    printf("大写字母=%d\n", upper); //输出大写字母个数
    printf("数字=%d\n", digit); //输出数字个数
    printf("空格=%d\n", space); //输出空格个数
    return 0;
}


程序测试

为了验证我们的程序是否正确,我们可以用一些测试用例来检验。我们可以请输入一个长度不超过40的字符串:sd2h b57 sA


源代码获取

#软件下载通道#



我用夸克网盘分享了「20240113」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。

链接:https://pan.quark.cn/s/c4a69f68889b

(链接和提取码建议复制粘贴,手动输入容易出现错误)

#支持一下#

分享整理,测试发布不易 如果您方便的话可以帮忙点一下↓↓

谢谢大家!



下期题目

C语言题目:从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树。注意: 你可以假设树中没有重复的元素。例如,给出 中序遍历 inorder =[9,3,15,20,7] 后序遍历 postorder=「9,15,7,20,3]返回如下的二又树


点赞加关注,学习不迷路

微信公众号|工控小新

EPLAN电气绘图、TIA博图基础 、CAD、C语言教学、单片机基础、三菱PLC ... 每日持续更新中

#新豪华 新智享#

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接