方法区别:
第一种:输出在自定义函数中
第二种:输出在主函数中
注意事项:
使用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语言程序设计教程(第三版)课后习题7.2 (Java代码)浏览:694 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:695 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:466 |
C语言程序设计教程(第三版)课后习题5.8 (C语言代码)浏览:613 |
【出圈】 (C语言代码)浏览:824 |
【偶数求和】 (C语言代码)浏览:674 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:1215 |
WU-输入输出格式练习 (C++代码)浏览:1133 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:1482 |
求圆的面积 (C语言代码)浏览:1756 |