码迷,mamicode.com
首页 > 其他好文 > 详细

杭电1170

时间:2017-05-05 23:22:40      阅读:384      评论:0      收藏:0      [点我收藏+]

标签:break   ble   return   tail   iostream   for   always   and   turn   

就是个简单的if else判断功能的水题目

思路 :就是读取、计算、利用判断语句

难点:我在做的时候判断是否是浮点小数那边出了点问题,因为我初始设置是double 所以输出的时候我强制类型转化为int 这是一个题目的要求。

ac代码

#include <iostream>
#include<math.h>
#include <iomanip>
#include<cstdio>
#include<string>
#include<map>
#include<vector>
#include<algorithm>
#include<stdlib.h>
using namespace std;



int main()
{
    int n;
    cin>>n;
    while(n--){
        char s;
       double  a;
        double b;
        double sum;
        cin>>s>>a>>b;
        if(s==+){
            sum=a+b;
        }
        else if(s==-){
            sum=a-b;
        }
        else if(s==*){
            sum=a*b;
        }
        else{
            sum=a/b;
        }

        if(sum==(int)sum){
            cout<<(int)sum<<endl;
        }else
        {
            cout<<fixed<<setprecision(2)<<sum<<endl;
        }
    }
    return 0;
}

然后 我看了下别人写的代码,感觉还是比较精炼的,少了一步我的判断

#include <iostream>
#include<iomanip>
using namespace std;

int main(void)
{
    int  t,a,b;
    char operands;
    cin>>t;
    for(int i=0; i<t; i++)
    {
        cin>>operands>>a>>b;

        switch(operands)
        {
        case +:
            cout<<a+b<<endl;
            break;
        case *:
            cout<<a*b<<endl;
            break;
        case -:
            cout<<a-b<<endl;
            break;
        case /:
            if(a%b==0)
            cout<<a/b<<endl;
            else
            cout<<setiosflags(ios::fixed)<<setprecision(2)<<(float)a/b<<endl;
            break;
        }

    }
    return 0;
}

后一部分代码转自:http://blog.csdn.net/always2015/article/details/45332923

杭电1170

标签:break   ble   return   tail   iostream   for   always   and   turn   

原文地址:http://www.cnblogs.com/William-xh/p/6815129.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!