企业发放的奖金根据利润提成的编程问题(c语言)

利润(I)低于或等于10万元的,奖金可提10%;利润高于10万元,低于20万元(100000<I<=200000元)时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;200000<I<=400000时,低于20万远的部分低按上述办法提成(下同)。高于20万元的部分5%提成;400000<I<=600000时,高于40万元的部分按3%提成;600000<I<=1000000时,高于60万元的部分按1.5%提成;I>1000000时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。
要求:⑴用if语言编程序;⑵用switch语句编程序
#include<stdio.h>
int main()
{
floati,h;
int t;
scanf("%f",&i);
if(i<=100000) t=3;
elseif(i>100000&&i<=200000)t=2;
elseif(i>200000&&i<=400000) t=1;
printf("t=%d\n",t);
scanf("%d",&t);
switch(t)
{
case'3':h=i*0.1;break;
case'2':h=1000+(i-100000)*0.75;break;
case'1':h=17500+(i-200000)*0.05;break;

default:printf("enter dataerror!\n");
}
printf("%f",h);
return 0;
我这样做的,不知道错在哪里,求大神解答

有个很明显的错误。
比如利润是45万。
那么应该是由以下几个部分组成:
1.100000
这部分提成10%,也就是1万
2.100000-200000之间的10万,这部分提成7.5%,也就是7500
3.200000-400000之间的20万,这部分提成5%,也就是1万
4.高于40万的5万,提成3%,也就是1500
加起来,是3万。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-11-06
//修改后,我用记事本写的,没有运行,你运行了看看报错不,看看什么错
#include<stdio.h>
int main(){
float i,h;
int t;

scanf("%f",&i);
scanf("%d",&t);
if(i<=100000){
t=3;
}else if(i>100000&&i<=200000){
t=2;
}else if(i>200000&&i<=400000){
t=1;
}

switch(t) {
case'3':h=i*0.1;
break;
case'2':h=1000+(i-100000)*0.75;
break;
case'1':h=17500+(i-200000)*0.05;
break;
default:printf("enter dataerror!\n");
}
printf("%f",h);
return 0;
}追问

得不到结果

追答

#include
int main(){
float i,h;
int t;
scanf("%f",&i);
if(i100000&&i200000&&i<=400000){
t=1;
}

switch(t) {
case 3:h=i*0.1;
break;
case 2:h=1000+(i-100000)*0.75;
break;
case 1:h=17500+(i-200000)*0.05;
break;
default:printf("enter dataerror!\n");
}
printf("%f",h);
return 0;
}

第2个回答  2014-11-06
#include <stdio.h>
int main()
{
int z,i;
float sum=0;
printf("input money:");
scanf("%d",&i);
if(i<=100000)
z=1;
else if(i<=200000&&i>100000)
z=2;
else if(i<=400000&&i>200000)
z=4;
else if(i<=600000&&i>400000)
z=6;
else if(i<=1000000&i>600000)
z=10;
else if(i>1000000)
z=11;
switch(z)
{
case 11:sum+=(i-1000000)*0.01;i=1000000;
case 10:sum+=(i-600000)*0.015;i=600000;
case 6:sum+=(i-400000)*0.03;i=400000;
case 4:sum+=(i-200000)*0.05;i=200000;
case 2:sum+=(i-100000)*0.075;i=100000;
case 1:sum+=i*0.1;break;
}
printf("Bonus=%lf",sum);
return 0;
}
调好了 试试追问

谢谢!可以运行了!但是我的错在哪里呢?

追答

scanf("%d",&t); 这句是干什么? t都有值了
case 3:

本回答被提问者采纳
第3个回答  2013-03-31
高于1000000的部分去哪里了。。。
而且假设450000,你的公式你可以看看,必须把400000之前的利润都加上才行啊,B=10000+(I-100000)*0.075
这是第二条,其他的以此类推,明白否?
第4个回答  2018-05-07
static void Main(string[] args)
{
double ooo, sum = 0;
Console.WriteLine("利润:");
ooo = Convert.ToDouble(Console.ReadLine());
if (ooo >= 1000000)
{
sum += (ooo - 1000000) * .001;
}
else if (ooo >= 600000 && ooo <= 1000000)
{
sum += (ooo - 600000) * 0.015;
}
else if (ooo >= 400000 && ooo <= 600000)
{
sum += (ooo - 400000) * 0.03;
}
else if (ooo >= 200000 && ooo <= 400000)
{
sum += (ooo - 200000) * 0.05;
}
else if (ooo >= 100000 && ooo <= 200000)
{
sum += (ooo + 100000) * 0.075;
sum += 100000 - 0.1;
}
Console.WriteLine("发多少{0}万元", sum);
}

C语言 “企业发放的奖金根据利润提成” 的问题
“企业发放的奖金根据利润提成” 的问题,用C语言表示应该为:\/\/ 企业发放的奖金根据利润提成。\/\/ i \/\/ 100000 \/\/ 200000 \/\/ 400000 \/\/ 600000 \/\/ i > 1000000 --- 超过1000000按1%。\/\/ 从键盘输入当月利润i,求应发奖金总数\/\/ if语句 #include int main(){ int i,j; printf("请...

C语言 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金...
这道c语言的解是:#include #include int main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",i); bonus1=*0.1;bonus2=bonus1+*0.75; bonus4=bonus2+*0.5; bonus6=bonus4+*0.3; bonus10=bonus6+*0.15; if(iC语言是一门通用计算机编程...

C语言:企业发放的奖金根据利润提成。利润低于或等于100000元的,奖金可...
num = 0; cout<<"请输入利润:"; cin>>i; if (i <= first) { num = i * first_rate; } else if (i <= second) { num = first * first_rate + (i - first) * second_rate; } else if (i <= third) { num = first * first_r...

c语言能写出什么样有意思的小程序?
让机箱唱歌(不是音响哦,也不是耳麦) 原理就是调用Beep函数,控制时长。以下代码在vc++ 2008编译通过 \/\/ beep.cpp : 定义控制台应用程序的入口点。\/\/#include "stdafx.h"include "windows.h"define ONE_BEEP 600 define HALF_BEEP 300#define NOTE_1 440 define NOTE_2 495 defin...

企业发放的奖金根据利润提成,利润底于或等于10万元时,奖金可提成10%...
printf("please input the profit I=");scanf("%f",&i);c=i\/100000;if(c<=1.0) total=c*0.1;else if(c<=2.0) total=1.0*0.1+(c-1.0)*0.075;else if(c<=4.0) total=1.0*0.1+1.0*0.75+(c-2.0)*0.05;else if(c<=6.0) total=1.0*0.1+1.0*0.75+2....

某企业发放奖金根据利润来提成。方法如下 c++
int main(){ double P,I;int i,c;scanf("%lf",&I);i=I\/100000;if (I>1000000)i=11;switch (i){case 0:P=I*0.1;break;case 1:case 2:P=100000*0.1+(I-100000)*0.075;break;case 3:case 4:P=100000*0.1+100000*0.075+(I-200000)*0.05;break;case 5:case 6:P=...

题目:企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提...
企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提\/\/成7.5%;20万到40【Python练习题 002】企业发放的奖金根据利润提成。# 利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于...

经典C语言程序,企业根据利润发放奖金中的问题。
1 要求上写的很清楚,40万到60万之间的高于40万的部分,就是i-40万。这里你的问题也写错了。源程序上是 bonus=bonus4+(i-400000)*0.03;2 与第一问实质上是一样的。建议你好好看看要求。“高于”这两个字还不明显吗?

C语言企业发放奖金问题
include<stdio.h>void main(){ int i = 0 , j = 0; printf("请输入利润值") scanf("%d",&i); float total = 0 ; float k_hundred,k_sixty,k_forty,k_twenty,k_ten,k; if ( i > 10) { j = 10; else if ( i <= 20 && i > 10) j =...

C语言程序设计:奖金利润提成
int main(){float lr,jj;scanf("%f",&lr);jj=0.1*MIN(lr,100000);if(lr>100000)jj+=0.075*MIN(lr-100000,100000);if(lr>200000)jj+=0.05*MIN(lr-200000,200000);if(lr>400000)jj+=0.03*MIN(lr-400000,200000);if(lr>600000)jj+=0.015*MIN(lr-600000,400000);if(lr>...

相似回答