原题链接:[编程入门]字符串分类统计
1012题-[编程入门]字符串分类统计-题解(C语言描述)
本题解的最终解释权归本人所有,主要用于本班上同学更好的掌握本题的解题方法,同时更好的理解和掌握方法。
题目描述
输入一行字符,分别统计出其中英文字母、数字、空格和其他字符的个数。
输入
一行字符
输出
统计值
样例输入
aklsjflj123 sadf918u324 asdf91u32oasdf/.’;123
样例输出
23 16 2 4
题目解释
这一道题主要的重点还是怎么样将输入的字符串将每一个字符调用出来进行判断,然后再对判断进行计数操作;还有就是用什么样的方法进行判断。首先我们每个字符的调用我们使用getchar()函数[1]来进行调用字符;使用ASCII码值来判断各类字符的个数。
代码
#include "stdio.h"
int main(int argc, char* argv[])
{
char n; //定义一个字符型变量
int p=0,b=0,c=0,d=0,i; //定义四个用于计数的整型变量,一个用于循环的整型变量
for(i=1;n!='\n';i++)
{
n=getchar(); //用于调用存入的字符转化为ASCII码值且赋值给n进行判断
if((n>=97 && n<=122) || (n>=65 && n<=90)) //判断大小写英文字母
{
p++; //进行计数操作
}
else if(n>=48 && n<=57) //判断数字
{
b++; //进行计数操作
}
else if(n==32) //判断空格
{
c++; //进行计数操作
}
else //判断其他字符项
{
d++; //进行计数操作
}
}
printf("%d %d %d %d",p,b,c,d-1); //输出各类计数的值;
//注:由于循环结束的条件是!='\n',在结束时还会进行一次其他字符的判断,所以为了保证数据的准确性,进行d-1的操作
return 0;
}
写后感
这个代码的编写自己也弄了很久,主要还是对单个字符的调用还不是很懂,还不熟练getchar的用法,但是在经过借鉴其他人的题解之后,自己也总算是基本了解了它的用法。
编写者:Believe_CH(廖智贤)
9 分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复