计算器的实现

#include <stdio.h>
#include <stdlib.h>


int main()
{
    double a ,b;
    char c;
    scanf("%lf",&a);
    int f=1;
    while(scanf("%c",&c)&&c!='=')//1.不输入字符时,直接输出s  2.不是等号就进来,是等号就直接出局 3.看着示列敲代码
    {
        scanf("%lf",&b);
        if(c=='/')
        {
            if(b==0)
            {
                printf("EROR\n");
                f=0;
                break;
            }
            else
                a=a/b;
        }
        else if(c=='*')
        {
            //scanf("%lf",&b);
            a=a*b;
        }
        else if(c=='+')
        {
           // scanf("%lf",&b);
            a=a+b;
        }
        else if(c=='-')
        {
            //scanf("%lf",&b);
            a=a-b;
        }
        else
        {
            f=0;
            printf("EROR\n");
            break;
        }
    }
    if(f)
    {
        int k=a;  //printf("%d\n",k);将a的值转化为整数,避免整数有小数产生
        if(a-k==0)//原来a 的值没有发生变化,只是复制一份给k值
        printf("%d\n",k);
        else
        printf("%.6lf\n",a);
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值