原题链接:[编程入门]自定义函数之字符类型统计
方法区别:
第一种:输出在自定义函数中
第二种:输出在主函数中
注意事项:
使用scanf函数输入时,不能用 "%s" ,因为输入空格后输出只会显示空格之前的内容,所以要用 "%[^\n]" ,表示除了回车键全部读入
参考代码:
第一种方法(输出在自定义函数中):
#include <stdio.h> #include <string.h> void str_count(char *s) { int letter = 0, digit = 0, space = 0, other = 0; for (int i = 0; i < strlen(s); i++) { if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') letter++; else if (s[i] >= '0' && s[i] <= '9') digit++; else if (s[i] == ' ') space++; else other++; } printf("%d %d %d %d", letter, digit, space, other); } int main() { char s[100]; gets(s); str_count(s); return 0; }
第二种方法(输出在主函数中):
#include <stdio.h> #include <string.h> void str_count(char *s, char *a) { for (int i = 0; i < strlen(s); i++) { if (s[i] >= 'a' && s[i] <= 'z' || s[i] >= 'A' && s[i] <= 'Z') a[0]++; else if (s[i] >= '0' && s[i] <= '9') a[1]++; else if (s[i] == ' ') a[2]++; else a[3]++; } } int main() { char s[100], a[4]; scanf("%[^\n]", &s); // 除了回车键全部读入 // gets(s); str_count(s, a); for (int i = 0; i < sizeof(a); i++) { printf("%d", a[i]); if (i != sizeof(a) - 1) { printf(" "); } } return 0; }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复