原题链接:[编程入门]利润计算
解题思路:
本题总共有6种情况,分别是:
1. 利润低于或等于100000元时
即i<=100000
2. 利润高于100000元,低于或等于200000元时
即100000<i≤200000
3. 利润高于200000元,低于或等于400000元时
即200000<i≤400000
4. 利润高于400000元,低于或等于600000元时
即400000<i≤600000
5. 利润高于600000元,低于或等于1000000元时
即600000<i≤1000000
6. 利润高于1000000元时
即i>1000000
注意事项:
分清情况,注意代码的整洁性,还有就是公式别用错。因为这个题解运用了定义整型常量的方法,所以省去了冗杂的0的书写,使代码变得整洁、简便地同时,缩短了代码的编译时间。
参考代码:
#include "stdio.h"
int main()
{
int i,r;
const int B=100000;
scanf("%d",&i);
if(i<=B)//利润低于或等于100000元时
{
r=i*0.1;
}
else if(i>B && i<=(2*B)) //利润高于100000元,低于或等于200000元时
{
r=0.1*B+(i-B)*0.075;
}
else if(i>(2*B) && i<=(4*B)) //利润高于200000元,低于或等于400000元时
{
r=0.1*B+0.075*B+(i-2*B)*0.05;
}
else if(i>(4*B) && i<=(6*B)) //利润高于400000元,低于或等于600000元时
{
r=0.1*B+0.075*B+0.05*2*B+(i-4*B)*0.03;
}
else if(i>(6*B) && i<=(10*B)) //利润高于600000元,低于或等于1000000元时
{
r=0.1*B+0.075*B+0.05*2*B+0.03*2*B+(i-6*B)*0.015;
}
else if(i>(10*B)) //利润高于1000000元时
{
r=0.1*B+0.075*B+0.05*2*B+0.03*2*B+4*B*0.015+((i-10*B)*0.01);
}
printf("%d",r);
return 0;
}0.0分
53 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
#include<stdio.h> int main() { int a, b; scanf_s("%d", &a); if (a <= 100000) b = a *0.1; else if (a>100000&&a <= 200000) b = 10000 + (a - 100000) *0.075; else if (a>200000&&a <= 400000) b = 10000 + 7500 + (a - 200000) *0.05; else if (a>400000&&a <= 600000) b = 10000 + 7500 + 10000 + (a - 400000) *0.03; else if (a>600000&&a<=1000000) b = 10000 + 7500 + 10000 + 6000 + (a - 600000) *0.015; else b = 10000 + 7500 + 10000 + 6000 + 6000 + (a - 1000000) *0.01; printf("%d\n",