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;
}

猜你喜欢

转载自www.cnblogs.com/zhplovelnn/p/10371508.html