原题链接:[编程入门]自定义函数之字符类型统计
解题思路:重点是怎么获取输入的字符串,统计可以用ASCII码统计
注意事项:我自己尝试了两种获取输入的方法
1、//需要输入数据后有换行符,不然会进入死循环直到数组越界
ch=getchar(); int size = 0; for(int i=0;ch!='\n';i++) { arr[i] = ch; ch = getchar(); size = i + 1; }
用这个解这道题,只得50分,即第二道题对了。说明第二道题题目输入带了换行符才对了
但是在我们自己输入的时候是会有换行符的,所以这个在这道题目不可以用
2、
//不需要换行符也可以自己结束输入
//如果有换行符,也会被读入,遇到空格不会停止读取
char arr[100]={'0'}; fgets(arr,sizeof(arr),stdin); int size=strlen(arr);
但还是只可以得50分,即第一道题对了。
怎么解决?
用第二种方式获取输入,然后加一下判断,判断是否为换行符,是就跳过。
这样的话就可以的100分
参考代码:
#include#includevoid test44(char arr[],int size) { int num1, num2, num3,num4; num1 = num2 = num3=num4 = 0; for(int i=0;i=97&&arr[i]=65&&arr[i]=49&&arr[i]<=57) { num2++; } else if(arr[i]==32) { num3++; } else { if(arr[i]!='\n')num4++;//判断是否有换行符,有跳过 } } printf("%d %d %d %d",num1,num2,num3,num4); } int main() { char arr[100]={'0'}; fgets(arr,sizeof(arr),stdin); int size=strlen(arr); test44(arr,size); return 0; }
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复