c语言 习题5.8参考答案(第二种解法,用switch语句)

来源:互联网 发布:塔夫茨大学知乎 编辑:程序博客网 时间:2024/04/29 20:44

/*
  Name: xt5_8_2.c
  Copyright: 允许任意copy
  Author: 姚果
  Date: 22-11-05 20:56
  Description: 课本p105页习题5.8参考答案
  第二种解法,使用switch语句
*/

main()

{
    long i;

    float bonus, bon1, bon2, bon4, bon6, bon10;

    int c;

    bon1=100000*0.1;

    bon2=bon1+100000*0.075;

    bon4=bon2+200000*0.05;

    bon6=bon4+200000*0.03;

    bon10=bon6+400000*0.015;

    printf("请输入利润i:");

    scanf("%ld",&i);

    c=i/100000;

    if(c>10)  c=10;

    switch(c)

    {
        case 0: bonus=1*0.1;break;

        case 1: bonus=bon1+(i-100000)*0.075;break;

        case 2 :

        case 3: bonus=bon2+(i-200000)*0.05; break;

        case 4:

        case 5: bonus=bon4+(i-400000)*0.03;break;

        case 6:

        case 7:

        case 8:

        case 9: bonus=bon6+(i-600000)*0.015;break;

        case 10: bonus=bon10+(i-1000000)*0.01;

    }

    printf("奖金是%10.2f",bonus);
   
    getch();

}