解题思路:分析题意可知,每种情况只有超出规定金额才会进行奖金率的改动,没超过的部分回到上一个条件进行费率计算,所以可以用switch嵌套if的方法设定不同条件,循环控制返回上一个条件,每算一部分金额进行加和,最终输出总和。



注意事项:此题题意应该理解为:超过指定金额部分按规定费率计算,指定金额将用上一条件进行计算金额,以此类推。

参考代码:


#include<stdio.h>

int main()

{

int i;

int s=0;

int n=1;

scanf("%d",&i);

while(n==1)

{

switch(1)

{

case 1:if(i<=100000)

   {

   s=s+i*0.1;

   n=0;

   break;

   };

case 2:if(i>100000 && i<=200000)

   {

   s=s+(i-100000)*0.075;

   i=100000;

   };

case 3:if(i>200000 && i<=400000)

   {

   s=s+(i-200000)*0.05;

   i=200000;

   };

case 4:if(i>400000 && i<=600000)

   {

   s=s+(i-400000)*0.03;

   i=400000;

   };

case 5:if(i>600000 && i<=1000000)

   {

   s=s+(i-600000)*0.015;

   i=600000;

   };

case 6:if(i>1000000)

   {

   s=s+(i-1000000)*0.01;

   i=1000000;

   };

}

}

printf("%d\n",s);

    return 0;

}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论