解题思路和注意事项:
在这里我们会用到getchar()函数,简单来说,getchar()就是从键盘获取字符,直到回车为止;
代码中while里的表达式(c = getchar()) != '\n',意思是,当输入的字符不是换行符的时候,继续往下执行;
注意这里的括号不能丢,因为!=的优先级比=高,如果去掉了外面的括号就等价于 c = (getchar()!='\n');
参考代码:
#include<stdio.h> int main() { int letter = 0,number = 0,blank = 0,others = 0,c; //分别为字母、数字、空格、其他 while((c = getchar()) != '\n'){ if(c >= 'A' && c<='Z' || c >= 'a' && c <= 'z') //判断是否为字母 letter++; else if(c >= '0' && c <= '9') //判断是都为数字 number++; else if(c == ' ') //判断是否为空格 blank++; else //其他 others++; } printf("%d %d %d %d\n",letter,number,blank,others); return 0; }
0.0分
176 人评分
C语言训练-计算1~N之间所有奇数之和 (C语言代码)浏览:644 |
最长单词 (C语言代码)浏览:1362 |
WU-整数平均值 (C++代码)浏览:1237 |
C语言程序设计教程(第三版)课后习题10.4 (C语言代码)浏览:534 |
字符逆序 (C语言代码)浏览:636 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:632 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:593 |
C语言程序设计教程(第三版)课后习题11.5 (C语言代码)浏览:1478 |
C二级辅导-分段函数 (C语言代码)浏览:593 |
C二级辅导-同因查找 (C语言代码)浏览:563 |
湖畔读书人 2018-05-05 17:29:50 |
指点不敢当。因为用了getchar()函数,从键盘获取字符,这样每输入一个字符就会做一次循环,判断其为何种字符,知道输入换行符为止。如果用scanf输入的话,会更复杂。如果还有我说的不清楚的方面可以在网上查阅资料。