7-20 简单计算器(20 分)

题目要求

模拟简单运算器的工作。假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算。

#include <stdio.h>
int main()
{
    int n1, n2;
    char ch;
    scanf("%d", &n1); // 不管怎样先输入一个数
    while(1)
    {
        scanf("%c", &ch);
        if(ch=='='){ 
        // 如果输入的操作符为等号则直接输出而不必进行后续操作了
            printf("%d\n", n1);
            break;
        }
        else{
        // 否则继续输入第二个操作数
            scanf("%d", &n2);
        }
        if(ch=='+')
            n1 += n2;
        else if(ch=='-')
            n1 -= n2;
        else if(ch=='*')
            n1 *= n2;
        else if(ch=='/')
        {
            if(n2==0)
            {
                printf("ERROR\n");
                break;
            }
            else
            {
                n1 /= n2;
            }
        }
        else
        {
            printf("ERROR\n");
            break;
        }
    }

    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_36913610/article/details/81108028