如何用C语言编一个计算器?

如题所述

一、问题分析:

输入一行字母,那么会以换行结束。所以可以存入数组,也可以逐个输入,遇到换行结束。

要统计各个类的个数,就要逐个判断是哪个分类的。

由于在ASCII码中,数字,大写字母,小写字母分别连续,所以可以根据边界值判断类型。

二、算法设计:

1、读入字符,直到遇到换行结束。

2、对于每个字符,判断是字母还是数字,或者空格,或者是其它字符。

3、对于每个字符判断后,对应类别计数器自加。

4、最终输出结果。

三、参考代码:

#include <stdio.h>
int main()
{
    int a,b,c,d,ch;
    a=b=c=d=0;//计数器初始化为0.
    while((ch=getchar())!='\n')//循环读取字符,到换行结束。
    {
        if(ch>='0' && ch<='9')//数字
            a++;
        else if((ch>='a' && ch<='z')||(ch>='A' && ch<='Z'))//字母
            b++;
        else if(ch==' ')//空格
            c++;
        else //其它
            d++;
    }
    printf("%d %d %d %d\n", a,b,c,d);//输出结果。
    return 0;
}
温馨提示:答案为网友推荐,仅供参考
相似回答