📦 归档笔记 — 原创建于 WizNote,仅作归档展示;观点以当年为准,非最新。

C程序设计第五章作业4

创建时间2018-01-31最后修改2018-02-01原位置/程序员成长之旅/C语言/习题(C语言程序设计)/第五章习题/字数181
目录:程序员成长之旅/C语言/习题(C语言程序设计)/第五章习题

问:

分别计算 字母 空格 数字 和其他字符 的个数

答:

#include<stdio.h> //分别计算 字母 空格 数字 和其他字符 的个数

#include<limits.h>

int main()

{

char c;

int flag = 0, Letter = 0, Number = 0, Space = 0, Other = 0;

while ((c=getchar())!='\n')

{

if (c>='a'&&c<='z'||c>='A'&&c<='Z')

{

flag = 1;

}

else if (c >= '0'&&c <= '9')

{

flag = 2;

}

else if (c == ' ')

{

flag = 3;

}

else

{

flag = 4;

}

if (flag&&Letter&&Number&&Space&&Other > INT_MAX)//防止超出范围导致异常

{

setbuf(stdin, NULL);

printf("Data is error!\n");

return 0;

}

switch (flag)//每统计到一个复合的条件 就加一

{

case 1:Letter++; break;

case 2:Number++; break;

case 3:Space++; break;

case 4:Other++; break;

default:

{

setbuf(stdin, NULL);

printf("Data is error!\n");

return 0;

break;

}

}

}

printf("Words:\t[%d]\nNumber\t[%d]\nSpace\t[%d]\nOther\t[%d]\n", Letter, Number, Space, Other);

return 0;

}