问题标题: 酷町堂:2729 计算器

0
0
已解决
潘晨皓
潘晨皓
高级天翼
高级天翼
#include<iostream>
#include<cstdio>
#include<cmath>

using namespace std;
int main(){
    int a,b;
    char c;
    cin>>a>>b>>c;
    if(c=='+'){
        printf("%.2f",a+b);
    }
    else if(c=='-'){
        printf("%.2f",a-b);
    }
    else if(c=='*'){
        printf("%.2f",a*b);
    }
    else if(c=='/'){
        if(b!=0){
            printf("%.2f",a/b);
        }
        else{
            cout<<"error";
        }
    }
    return 0;
}

为毛样例都过不了???

2729   计算器经验值:0

题目描述 Description

当然,只会加法运算是不够的,该外星球的人们还希望你开发一个计算器,可以计算十进制加减乘除。请你设计一个简单的计算器,具有加减乘除功能。用户键入的两个数和一个运算符,由计算器输出运算结果。

输入描述 Input Description

分两行输入,第一行数两个自然数,第二行是运算符

输出描述 Output Description

一个小数,保留两位小数

样例输入 Sample Input

样例一: 15 3 + 样例二: 5 2 / 样例三: 5 0 /

样例输出 Sample Output

样例一: 18.00 样例二: 2.50 样例三: error

 

输入15 3下一行+,输出0.00????

 


0
已采纳
刘英杰
刘英杰
新手天翼
新手天翼

注意,printf输出时的保留小数操作是这样的

例:输出实数a,保留3位小数

(框架以及定义不加)

printf("%.3lf",a);

所以,只要把你所有printf里的"%.2f"换成"%.2lf就可以啦!

刘英杰在2020-06-26 20:32:48追加了内容

还有一个重要的地方

a+b这个表达式的值是整型,而整型是不能四舍五入输出的,所以需要在定义时改成double或float类型的变量即可

0
0
董宇昊
董宇昊
初级启示者
初级启示者

单引号变成双引号

董宇昊在2020-06-26 20:25:44追加了内容

char变成string

加头文件

#include<string>

我要回答