C语言练习——输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
【摘要】 C语言练习—— 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
学须志也,才须学也,非学无以广才,非志无以成学。——诸葛亮
一、问题呈现
1.问题描述
Problem Description
输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
2.输入输出
Input
无
Output
所输入字符中英文字母、空格、数字和其它字符的个数。
3.测试样例
Sample Input
abc 123 \\
Sample Output
3 2 3 2
3 2 3 2 依次为英文字母、空格、数字和其他字符的个数
二、源码实现(+详细注释)
1.注释版
//编程及注释:Code_流苏
//定义头文件
#include<stdio.h>
#include<stdlib.h>
//主函数
int main()
{
//定义字符类型变量 用于循环输入
char c;
//定义四个变量
//letters 代表字母 space 代表空格
//digit 代表数字 others代表其他字符
int letters=0,space=0,digit=0,others=0;
//输出提示
printf("请输入一行字符:\n");
//循环输入字符 以回车符结束
while((c=getchar())!='\n')
{
//判断是否是字母 如果是 letters自增1
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
letters++;
//判断是否有是空格 如果是 space自增1
else if(c==' ')
space++;
//判断是否是数字 如果是 digit自增1
else if(c>='0'&&c<='9')
digit++;
//如果以上都不是 就代表是其他字符 others自增1
else
others++;
}
//输出统计结果
printf("统计结果:\nletters=%d \nspace=%d \ndigit=%d \nothers=%d\n",letters,
space,digit,others);
//返回0,代表程序执行结束
return 0;
}
2.纯源码版
#include<stdio.h>
#include<stdlib.h>
int main()
{
char c;
int letters=0,space=0,digit=0,others=0;
printf("请输入一行字符:\n");
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
letters++;
else if(c==' ')
space++;
else if(c>='0'&&c<='9')
digit++;
else
others++;
}
printf("统计结果:\nletters=%d \nspace=%d \ndigit=%d \nothers=%d\n",letters,
space,digit,others);
return 0;
}
三、输出结果展示
1.输出结果
请输入一行字符:
abc 123 \\
统计结果:
letters=3
space=2
digit=3
others=2
--------------------------------
Process exited after 10.93 seconds with return value 0
请按任意键继续. . .
2.输出结果(图示版)
ps:这道题的方法,本文虽然只写出这一种,但是思路方法其实不止这一种,其它的方法可自行尝试一下。
作者:Code_流苏(一个喜欢古诗词和编程的Coder😊)
★喜欢的话,还请多多点赞与关注! 感谢支持!
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)