解题思路:
其实不需要开数组,一个一个字符读入并判断就好了
注意事项:
结束不是'\0',也不是'\n',而是'EOF',即文件结束
参考代码:
#include <stdio.h> int main() { int word = 0, number = 0, space = 0, others = 0; int ch; while ((ch = getchar()) != EOF) { if ('a' <= ch && ch <= 'z' || 'A' <= ch && ch <= 'Z') { word++; } else if ('0' <= ch && ch <= '9') { number++; } else if (ch == ' ') { space++; } else { others++; } } printf("%d %d %d %d", word, number, space, others); return 0; }
0.0分
3 人评分
剪刀石头布 (C语言代码)浏览:1792 |
A+B for Input-Output Practice (III) (C语言代码)浏览:595 |
杨辉三角 (C语言代码)浏览:508 |
sizeof的大作用 (C语言代码)浏览:1139 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:416 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:536 |
C语言程序设计教程(第三版)课后习题8.3 (C语言代码)浏览:465 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:578 |
小O的数字 (C++代码)浏览:806 |
C语言程序设计教程(第三版)课后习题6.10 (C语言代码)浏览:494 |
ET 2018-06-30 22:08:22 |
诈尸来回复,,因为我用getchar读入的,而不是scanf("%s",.....)末尾没有\0