
有个很明显的错误。
比如利润是45万。
那么应该是由以下几个部分组成:
1100000 这部分提成10%,也就是1万
2100000-200000之间的10万,这部分提成75%,也就是7500
3200000-400000之间的20万,这部分提成5%,也就是1万
4高于40万的5万,提成3%,也就是1500
加起来,是3万。
//运行结果
F:\c_work>aexe
250000
21249
没问题啊,你所说的出错是指的什么问题呢?
#include <stdioh>
#include <stdlibh>
int main()
{
int a;
scanf("%d",&a);
if(a<100000)
a=a01;
//else if(100000<a<=200000) //这里出错了
else if(a>10000 && a<=200000)
a=10000+(a-100000)0075;
else if(a<=400000)
a=17500+(a-200000)005;
else if(a<=600000)
a=27500+(a-400000)003;
else if(a<=1000000)
a=33500+(a-600000)0015;
else if(a>1000000)
a=39500+(a-1000000)001;
printf("%d",a);
return 0;
}
#include <stdioh>
int const bounds[] = { 0, 100000, 200000, 400000, 600000, 1000000 };
double const rates[] = {01, 0075, 005, 003, 0015, 001 };
int main()
{
int lirun;
double jiangjin = 00;
printf("请输入利润: ");
scanf("%d", &lirun);
int i = sizeof(bounds) / sizeof(int) - 1;
for(; i >= 0; --i) {
if(lirun > bounds[i]) {
jiangjin += (lirun - bounds[i]) rates[i];
lirun = bounds[i];
}
}
printf("奖金为: %2lf\n", jiangjin);
return 0;
}
和我们的c语言作业一模一样。
下边是我的程序,你可以看一下。
这个题的要求的输入单位是 万元。
#include<stdioh>
void main ()
{
int I;
double M;
printf("当月利润为:");
scanf("%d",&I);
switch ((I-1)/10)
{
case 0:
M=I01;break;
case 1:
M=1+(I-10)0075;break;
case 2:
case 3:
M=175+(I-20)005;break;
case 4:
case 5:
M=275+(I-40)003;break;
case 6:
case 7:
case 8:
case 9:
M=335+(I-60)0015;break;
default :
M=395+(I-100)001;break;
}
printf("奖金总数为:%3f\n",M);
}
以上就是关于企业发放的奖金根据利润提成的编程问题(c语言)全部的内容,包括:企业发放的奖金根据利润提成的编程问题(c语言)、这个C语言利润提成的问题这个程序输入250000的时候为什么出错、编写C语言程序,通过主程序中调用自定义函数的方式实现从键盘输入当月利润值,根据此规则输出发放奖金等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)