|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
#include <stdio.h>
int main()
{
int i;
double bonus,bon1,bon2,bon4,bon6,bon10;
int branch;
bon1=100000*0.1;
bon2=bon1+100000*0.075;
bon4=bon2+200000*0.05;
bon6=bon4+200000*0.03;
bon10=bon6+400000*0.015;
scanf("%d",&i);
branch=i/100000;
if (branch>10) branch=10;
switch(branch)
{ case 0:bonus=i*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("prize=%d\n",bonus);
return 0;
}
试了好数,总是输出0
我运行了一下你的程序,
你什么就是输入负数,又什么变量输出为0呢?
这样可以吗:
scanf("%lf",&i);
branch = i /1 00000;
if (branch > 10)
branch = 10;
if (branch < 0)
branch = 2;
switch(branch)
{
case 0: bonus = i * 0.1;
break;
case 1: bonus = bon1 + (i - 100000) * 0.075;
break;
case 2: bonus = 0;
break;
|
|