C语言OJ项目参考(1030)求奖金总数

(1030)求奖金总数
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
HINT
用Switch要比用if的看起来更清晰。
[参考解答]

#include <stdio.h>
#include <math.h>
int main ( )
{
    int profit, capital;
    int t;
    scanf("%d",&profit);
    t=(profit-1)/100000;
    switch(t)
    {
    case 0:
        capital=profit*0.1;
        break;
    case 1:
        capital=(profit-100000)*0.075+100000*0.1;
        break;
    case 2:
    case 3:
        capital=(profit-200000)*0.05+100000*0.1+100000*0.075;
        break;
    case 4:
    case 5:
        capital=(profit-400000)*0.03+100000*0.1+100000*0.075+200000*0.05;
        break;
    case 6:
    case 7:
    case 8:
    case 9:
        capital=(profit-600000)*0.015+100000*0.1+100000*0.075+200000*0.05+200000*0.03;
        break;
    default:
        capital=(profit-1000000)*0.01+100000*0.1+100000*0.075+200000*0.05+200000*0.03+400000*0.015;
    }
    printf("%d\n",capital);
    return 0;
}
时间: 2024-09-20 06:28:25

C语言OJ项目参考(1030)求奖金总数的相关文章

C语言OJ项目参考(1034) 求值

(1034) 求值 Description 求Sn=1!+2!+3!+4!+5!+-+n!之值,其中n是一个数字. Input n Output 和 Sample Input 5 Sample Output 153 参考解答 #include <stdio.h> int main ( ) { int n, i; long fact=1, sum=1; scanf("%d",&n); for(i=2;i<=n;i++) { fact=fact*i; sum+=f

C语言OJ项目参考(2399)求倒数和

(2399)求倒数和 Description 输入一个小于10的正整数n,求1到n的倒数和(即1+1/2+-+1/n)并输出. Input 一个整型数 n Output 1+1/2+-+1/n 的值,小数点后保留6位小数. Sample Input 4 Sample Output 2.083333 参考解答 #include <stdio.h> int main ( ) { int n, i; double sum=0; scanf("%d",&n); for(i=

C语言OJ项目参考(2681)求三角形面积

(2681)求三角形面积 Description 输入三条边的长度,如果这三条边能构成三角形,则需要计算三角形面积,如果不能构成三角形则输出提示信息 "error input".输出的面积按两位小数方式输出 Input 三条边的长度 Output 如果这三条边能构成三角形,则输出该三角形面积,如果这三条边不能构成三角形,则输出提示信息"error input" Sample Input 3.3 4.4 5.5 Sample Output area=7.26 [参考解

C语言OJ项目参考(2405)牛顿迭代法求根

2405: 牛顿迭代法求根 Description 用牛顿迭代法求根.方程为ax3+bx2+cx+d=0.系数a,b,c,d的值一次为1,2,3,4,由主函数输入.求x在1附近的一个实根.求出根后由主函数输出.结果保留两位小数. Input 系数a,b,c,d的值 Output x在1附近的一个实根 Sample Input 1 2 3 4 Sample Output -1.65 HINT 主函数已给定如下,提交时不需要包含下述主函数 /* C代码 */ int main() { double

C语言OJ项目参考(1047) 最大公约数和最小公倍数

1047: 求两个整数的最大公约数和最小公倍数 Description 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入. Input 两个数 Output 最大公约数 最小公倍数 Sample Input 6 15 Sample Output 3 30 HINT 主函数已给定如下,提交时不需要包含下述主函数 /* C代码 */ int main() { int n,m,gys,gbs; int gcd(int a, int b); int

C语言OJ项目参考(2013)一元二次方程Ⅱ

(2013)一元二次方程Ⅱ Description 求一元二次方程ax 2 +bx+c=0 的解.a,b,c为任意实数. Input 输入数据有一行,包括a b c的值. Output 按以下格式输出方程的根x1和x2.x1和x2之间有一个空格. x1 x2 (1)如果x1和x2为实根,则以x1>=x2输出. (2)如果方程是共轭复根,x1=m+ni,x2=m-ni,其中n>0. 其中x1, x2, m,n均保留2位小数. Sample Input 1 2 3 Sample Output -1

C语言OJ项目参考(1992)分数序列

(1992)分数序列 Description 有一个分数序列:2/1, 3/2, 5/3, 8/5, 13/8, -编写程序求出这个序列的前n项之和. Input 输入只有一个正整数n,1≤n≤10. Output 输出该序列前n项和,结果保留小数后6位. Sample Input 3 Sample Output 5.166667 参考解答 #include <stdio.h> int main ( ) { int m1=2,m2=1, n, t, i; double sum=2; scanf

C语言OJ项目参考(2962) 日期妙算星座

2962: 日期妙算星座 Description 近几年星座运势十分流行,据说一年之中根据月份可以分出十二个星座,它们分别是:摩羯座(12.21-1.19),水瓶座(1.20-2.18),双鱼座(2.19-3.20),白羊座(3.21-4.19),金牛座(4.20-5.20),双子座(5.21-6.21),巨蟹座(6.22-7.22),狮子座(7.23-8.22),处女座(8.23-9.22),天秤座(9.23-10.23),天蝎座(10.24-11.22),射手座(11.23-12.21),猴

C语言OJ项目参考(2000)数组逆序

Description 输入10个整数存入一维数组,按逆序重新存放后再输出. Input 输入包括一行.10个以空格隔开的整数. Output 逆序的10个整数,整数以空格隔开. Sample Input 1 3 5 9 7 6 8 2 4 0 Sample Output 0 4 2 8 6 7 9 5 3 1 提示:在OJ平台中,将有一个格式错误可能会让你崩溃.友情提示:输出的最后一个数字后面没有空格. 参考解答: #include <stdio.h> int main() { int a[