>学习工控知识,就来工控小新
农历腊月初三 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 != '\0'; i++) //遍历字符串的每个字符,直到遇到字符串结束符'\0' { if (islower(str)) //如果是小写字母,小写字母个数加一 lower++; else if (isupper(str)) //如果是大写字母,大写字母个数加一 upper++; else if (isdigit(str)) //如果是数字,数字个数加一 digit++; else if (isspace(str)) //如果是空格,空格个数加一 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 ... 每日持续更新中
发现“分享”和“赞”了吗,戳我看看吧
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |