1、题目
输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
输出格式为:"英文字母=%d, 空格=%d, 数字字符=%d, 其它字符=%d".
注意:其中的逗号","为中文标点符号。
2 、温馨提示
C语言试题汇总里可用于计算机二级C语言笔试、机试、研究生复试中C程序设计科目、帮助C语言学者打好程序基础、C语言基础,锻炼您的逻辑思维和解决问题的能力,帮助你成为C语言笔试、机试解题高手,帮助你拿到C语言工作的offer,每一个题目都附带源代码和运行结果,让你不再有任何困惑,妈妈再也不担心我的C语言了。如果程序有任何看不懂或者哪个步骤不理解的地方都可以加我微信(15874274916)私聊我,或者有更好的思路解决办法都可以加我微私聊,一起探讨、希望可以正真的帮助到你,同时也可以扫下面的二维码关注我微信公众号,比如你还对生活、美食或者其它方面都感兴趣,都可以加微信交流,博主擅长讲解计算机相关方面的知识、如果大家对计算机方向、前端、移动端、服务端、数据结构、算法、网络、高数等等一些列方向比较迷茫或者不知道要学哪些?或者具体怎么学?或者其它方向有任何困惑都可以找我交流,谢谢大家关注。
3、源代码实现
#include <stdio.h>
int main()
{
char p[256] = "";
printf("请输入一行字符串\n");
//输入字符
gets(p);
printf("输入的字符串内容是:%s\n", p);
//char p[] = "chenyu 124#@$! chen333";
//把数组赋值给指针s
char *s = p;
int a = 0, b = 0, c = 0, d = 0;
//循环遍历字符串
while (*s != '\0')
{
printf("*s is %c\n", *s);
//判断字符
if ((*s >= 'a' && *s <= 'z') || (*s >= 'A' && *s <= 'Z'))
{
++a;
}
//判断空格
else if (*s == ' ')
{
++b;
}
//判断数字
else if ((*s >= '0') && (*s <= '9'))
{
++c;
}
else
{
++d;
}
//指针右移
s++;
}
printf("英文字母=%d,空格=%d, 数字字符=%d,其它字符=%d\n", a, b, c, d);
return 0;
}
4、运行结果
请输入一行字符串
chenyu 123 !@# 234
输入的字符串内容是:chenyu 123 !@# 234
*s is c
*s is h
*s is e
*s is n
*s is y
*s is u
*s is
*s is 1
*s is 2
*s is 3
*s is
*s is !
*s is @
*s is #
*s is
*s is 2
*s is 3
*s is 4
英文字母=6,空格=3, 数字字符=6,其它字符=3
请按任意键继续. . .