2013-C++第10周OJ题目及参考答案

简介: 课程首页在:http://blog.csdn.net/sxhelijian/article/details/118907591030 Problem  A 求奖金总数Description企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%;利润高于100000元,低于200000元(100000<I≤200000)时,低于100000元的部分按10

课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759



1030 Problem  A 求奖金总数

Description

企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可提10%;

利润高于100000元,低于200000元(100000<I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成 7.5%;

200000<I≤400000时,低于200000元部分仍按上述办法提成,(下同),高于200000元的部分按5%提成;

400000<I≤600000元时,高于400000元的部分按3%提成;600000<I≤1000000时,高于600000元的部分按1.5%提成;

I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。

Input

一个整数,当月利润。

Output

一个整数,奖金。

Sample Input

900

Sample Output

90

参考解答1:

#include<iostream>
using namespace std;
int main()
{
    double jj,rate;
    cin>>rate;
    if(rate<=100000)
        jj=rate*0.1;
    if(rate>100000&&rate<=200000)
        jj=100000*0.1+(rate-100000)*0.75;
    if(rate>200000&&rate<=400000)
        jj=100000*0.1+100000*0.75+(rate-200000)*0.05;
    if(rate>400000&&rate<=600000)
        jj=100000*0.1+100000*0.75+200000*0.05+(rate-400000)*0.03;
    if(rate>600000&&rate<=1000000)
        jj=100000*0.1+100000*0.75+200000*0.05+200000*0.03+(rate-600000)*0.015;
    if(rate>1000000)
        jj=100000*0.1+100000*0.75+200000*0.05+200000*0.03+400000*0.015+(rate-1000000)*0.01;
    cout<<jj;
    return 0;
}


参考解答2:

#include <iostream>
using namespace std;
int main()
{
    int l,salary;
    cin>>l;
    switch(l/100000)
    {
    case 0:
        salary=l*0.1;
        break;
    case 1:
        salary=100000*0.1+(l-100000)*0.075;
        break;
    case 2:
    case 3:
        salary=100000*0.1+100000*0.75+(l-200000)*0.05;
        break;
    case 4:
    case 5:
        salary=100000*0.1+100000*0.75+200000*0.05+(l-400000)*0.003;
        break;
    case 6:
    case 7:
    case 8:
    case 9:
        salary=100000*0.1+100000*0.75+200000*0.05+200000*0.003+(l-600000)*0.015;
        break;
    default:
        salary=100000*0.1+100000*0.75+200000*0.05+200000*0.003+400000*0.015+(l-1000000)*0.01;
        break;
    };
    cout<<salary;
    return 0;
}


2400 Problem  B 多个数的平均值【简单循环】

Description

输入nn个整数(n不超过20),输出这n个数的平均值

Input

整数nn个整数,各数用空格隔开

Output

n个整数的平均值(整数)

Sample Input

4 2 4 6 8

Sample Output

5

参考解答:

#include <iostream>
using namespace std;
int main()
{
    int n, i , a;
    int sum = 0;
    cin>>n;
    for (i=0; i<n; i++)
    {
        cin>>a;
        sum+=a;
    }
    cout<<sum/n;
    return 0;
}

2401 Problem  C 等比数列之和【简单循环】 

Description

已知qn,求等比数列之和: 1+q+q2+q3+q4+…+qn

Input

输入一对数据,含有一个整数n(1≤n≤20),一个小数q(0q2)

Output

对于每组数据nq,计算其等比数列的和,精确到小数点后5位。 

Sample Input

5 1.2

Sample Output

9.92992

HINT

C语言中,将printf("%.5f\n",x); 可以令x的值保留5位小数输出。

C++中,cout<<setiosflags(ios::fixed)<<setprecision(5)<<x<<endl;x的值保留5位小数输出,另外,需加头文件#include<iomanip>

参考解答:

#include<iostream> 
#include<iomanip> 
using namespace std; 
int main() 
{ 
    int n,i; 
    double sum=1,q,k=1; 
    cin>>n>>q; 
    for(i=1; i<=n; i++) 
    { 
        k=k*q; 
        sum=k+sum; 
    } 
    cout<<setiosflags(ios::fixed)<<setprecision(5)<<sum<<endl; 
    return 0; 
} 

   

 


目录
相关文章
|
2月前
|
C++
C++:OJ练习(每日练习系列)
C++:OJ练习(每日练习系列)
34 2
|
2月前
|
Shell C++
C++:OJ练习(每日练习系列)
C++:OJ练习(每日练习系列)
28 1
|
2月前
|
Serverless C++
C++:OJ练习(每日练习!)
C++:OJ练习(每日练习!)
34 0
|
4月前
|
C++ 索引
c++:string相关的oj题(415. 字符串相加、125. 验证回文串、541. 反转字符串 II、557. 反转字符串中的单词 III)
c++:string相关的oj题(415. 字符串相加、125. 验证回文串、541. 反转字符串 II、557. 反转字符串中的单词 III)
44 0
|
23天前
|
C++
面向对象的C++题目以及解法2
面向对象的C++题目以及解法2
31 1
|
23天前
|
C++
面向对象的C++题目以及解法
面向对象的C++题目以及解法
19 0
|
29天前
|
存储 C++
[c++]类和对象常见题目详解
[c++]类和对象常见题目详解
16 0
|
3月前
|
监控 C++
【2021全国高校计算机能力挑战赛C++题目】17.信息整理 某机房上线了一套系统,和每台计算机都相连,以便监控各计算机相关外设的运行状态。
【2021全国高校计算机能力挑战赛C++题目】17.信息整理 某机房上线了一套系统,和每台计算机都相连,以便监控各计算机相关外设的运行状态。
|
3天前
|
设计模式 安全 算法
【C++入门到精通】特殊类的设计 | 单例模式 [ C++入门 ]
【C++入门到精通】特殊类的设计 | 单例模式 [ C++入门 ]
14 0
|
5天前
|
C语言 C++
【C++】string类(常用接口)
【C++】string类(常用接口)
13 1