杭电1170

Posted William_xh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了杭电1170相关的知识,希望对你有一定的参考价值。

就是个简单的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的主要内容,如果未能解决你的问题,请参考以下文章

codevs1170 双栈排序

codevs 1170 双栈排序

1170 - Counting Perfect BST

函数不返回值(错误 1170;ActionScript 3.0)

XDOJ_1170_数学

1170. 重塑矩阵