解题思路和注意事项:
在这里我们会用到getchar()函数,简单来说,getchar()就是从键盘获取字符,直到回车为止;
代码中while里的表达式(c = getchar()) != '\n',意思是,当输入的字符不是换行符的时候,继续往下执行;
注意这里的括号不能丢,因为!=的优先级比=高,如果去掉了外面的括号就等价于 c = (getchar()!='\n');
== 检查两个操作数的值是否相等,如果相等则条件为真。 (A == B) 不为真。
!= 检查两个操作数的值是否相等,如果不相等则条件为真。 (A != B) 为真。
>= 检查左操作数的值是否大于或等于右操作数的值,如果是则条件为真。 (A >= B) 不为真。
<= 检查左操作数的值是否小于或等于右操作数的值,如果是则条件为真。 (A <= B) 为真。
&& 称为逻辑与运算符。如果两个操作数都非零,则条件为真。 (A && B) 为假。
|| 称为逻辑或运算符。如果两个操作数中有任意一个非零,则条件为真。 (A || B) 为真。
参考代码:
#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分
0 人评分
剪刀石头布 (C语言代码)浏览:753 |
C语言程序设计教程(第三版)课后习题7.2 (C语言代码)浏览:542 |
简单的a+b (C语言代码)浏览:817 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:609 |
1012题解浏览:870 |
C语言程序设计教程(第三版)课后习题9.4 (C语言代码)浏览:646 |
简单的a+b (C语言代码)浏览:630 |
C语言程序设计教程(第三版)课后习题6.3 (C语言代码)浏览:476 |
简单的a+b (C语言代码)浏览:461 |
C语言程序设计教程(第三版)课后习题11.3 (C语言代码)浏览:2166 |