1. 程式人生 > >杭電1170

杭電1170

簡單 == while tail pan 分代 out set 初始

就是個簡單的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