noip第5課作業


1.     計算稅收

【問題描述】

對某產品征收稅金,在產值1萬元以上收稅5%;在1萬元以下但在5000元或者以上的征收稅3%;在5000元以下但在1000元或以上征收稅2%;1000元以下的免收稅。編程實現輸入產值,輸出該產品的收稅金額。

【樣例輸入】1000

【樣例輸出】20

#include <iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    switch(n/1000){
        case 0:
            cout << 0 << endl;
            break;
        case 1:
        case 2:
        case 3:
        case 4:
            cout << n*0.02 << endl;
            break;
        case 5:
        case 6:
        case 7:
        case 8:
        case 9:
            cout << n*0.03 << endl;
            break;
        default:
            cout << n*0.05 << endl;            
    }
    return 0;
}

2.     編寫簡單計算器

【問題描述】

一個最簡單的計算器,支持+, -, *, / 四種運算。僅需考慮輸入輸出為整數的情況,數據和運算結果不會超過int表示的范圍。

【輸入】

輸入只有一行,共有三個參數,其中第1、2個參數為整數,第3個參數為操作符(+,-,*,/)。

【輸出】

輸出只有一行,一個整數,為運算結果。然而:

1)    如果出現除數為0的情況,則輸出:Divided by zero!

2)    如果出現無效的操作符(即不為 +, -, *, / 之一),則輸出:Invalid operator!

【樣例輸入】1  2  +

【樣例輸出】3

#include <iostream>
using namespace std;
int main(){
    int m, n;
    char f; 
    cin >> m >> n >> f;
    switch(f){
        case '+':
            cout << m+n << endl;
            break;
        case '-':
            cout << m-n << endl;
            break;
        case '*':
            cout << m*n << endl;
            break;
        case '/':
            if(n==0){
                cout << "Divided by zero!" << endl;
            }else{
                cout << m/n << endl;
            }
            break;
        default:
            cout << "Invalid operator!" << endl; 
        }
    return 0;
}

1.     晶晶赴約會

【問題描述】

晶晶的朋友貝貝約晶晶下周一起去看展覽,但晶晶每周的1、3、5有課必須上課,請幫晶晶判斷她能否接受貝貝的邀請,如果能輸出YES;如果不能則輸出NO。

輸入:一行,貝貝邀請晶晶去看展覽的日期,用數字1到7表示從星期一到星期日。

輸出:一行,如果晶晶可以接受貝貝的邀請,輸出YES,否則,輸出NO。注意YES和NO都是大寫字母!

【樣例輸入】2

【樣例輸出】YES

#include <iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    if(n==1||n==3||n==5){
        cout << "NO" << endl;
    }else{
        cout << "YES" << endl;
    }
    return 0;
}

2.     判斷星期幾

【問題描述】

   已知2017年10月1日是星期日,輸入任意一個整數代表十月份的一天,求這一天是星期幾(比如輸入5,就代表10月5日)。

輸入:輸入一行,包含一個整數n。(1 <= n <= 31)。

輸出:輸出一行,表示這一天是星期幾。

【樣例輸入】1

【樣例輸出】星期日

#include <iostream>
using namespace std;
int main(){
    int n;
    cin >> n;
    switch(n%7){
        case 1:
            cout << "星期日" << endl;
            break;
        case 2:
            cout << "星期一" << endl;
            break;
        case 3:
            cout << "星期二" << endl;
            break;
        case 4:
            cout << "星期三" << endl;
            break;
        case 5:
            cout << "星期四" << endl;
            break;
        case 6:
            cout << "星期五" << endl;
            break;
        default:
            cout << "星期六" << endl; 
    } 
    return 0;
}

3.     計算分段函數的值

【問題描述】

編程程序,計算下列分段函數y=f(x)的值,。

y=2x+1,x<0

y=x*x,0≤x≤3

y=3x,x>3

輸入:輸入一個double類型的數x。

輸出:輸出f(x)的值(保留一位小數)

【樣例輸入】-2.4

【樣例輸出】-3.8

#include <iostream>
#include <iomanip> 
using namespace std;
int main(){
    double x, y;
    cin >> x;
    if(x<0){
        y = 2*x+1;
    }else if(x<=3){
        y = x*x;
    }else{
        y = 3*x; 
    }
    cout << fixed <<setprecision(1) << y << endl;
    return 0;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM