题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
123456789101112131415161718192021222324252627 | int main() { int Letter = 0; int Num = 0; int Space = 0; int Others = 0; char c; c = getchar(); while (c!='\n') { if ((c>=65 && c<=90) || (c>=97 && c<=122))//这个字符是英文字符 { Letter++; }else if(c>=48 && c<=57)//这个字符是数字 { Num++; }else if (c == ' ') { Space++; }else { Others++; } c = getchar(); } printf("Letter = %d \nNumber = %d \nSpace = %d \nOthers = %d \n",Letter,Num,Space,Others); return 0;} |
总结:
- 想要判断一个字符,本质上是判断这个字符的ASCII码,可以直接拿这个字符和ASCII码比较,不用加单引号,但想拿它和另一个字符比较,另一个字符必须加单引号。(可能是字符加了单引号就转换成了ASCII码?)
&&一个条件为假,结果为假||一个条件为真,结果为真
参考:逻辑操作符