什么样的人不能做胃镜:一道简单的C语言问题
来源:百度文库 编辑:高考问答 时间:2024/05/13 08:57:58
*****************************
#include <stdio.h>
main( )
{
long i,a,b,c,d,e,gold;
scanf("%ld",&i);
a=100000*0.1;
b=a+100000*0.075;
c=b+200000*0.05;
d=c+200000*0.03;
e=d+400000*0.015;
if (i<=100000 && i>0) gold=i*0.1;
else if (i>100000 && i<=200000) gold=a+(i-100000)*0.075;
else if (i>200000 && i<=400000) gold=b+(i-200000)*0.05;
else if (i>400000 && i<=600000) gold=c+(i-400000)*0.03;
else if (i>600000 && i<=1000000) gold=d+(i-600000)*0.015;
else if (i>1000000) gold=e+(i-1000000)*0.01;
printf ("gold=%ld",gold);
}
上面是用IF语句做的。希望能帮我用SWITCH语句重新做一遍,非常感谢。
#include <stdio.h>
main( )
{
long i,a,b,c,d,e,gold,j;
scanf("%ld",&i);
j = i/100000;
switch(j)
{
case 0:gold=i*0.1; break;
case 1:gold=a+(i-100000)*0.075;break;
case 2:
case 3:gold=b+(i-200000)*0.05; break;
case 4:
case 5:gold=c+(i-400000)*0.03; break;
case 6:
case 7:
case 8:
case 9:gold=d+(i-600000)*0.015; break;
default:gold=e+(i-1000000)*0.01;
}
printf("gold=%ld\n",gold);
}
int j =(int) i/100000;
switch (j)
{
case 0:gold=i*0.1; break;
case 1:gold=a+(i-100000)*0.075;break;
case 2:
case 3:gold=b+(i-200000)*0.05; break;
case 4:
case 5:gold=c+(i-400000)*0.03; break;
case 6:
case 7:
case 8:
case 9:gold=d+(i-600000)*0.015; break;
default:gold=e+(i-1000000)*0.01;
}
#include <stdio.h>
main( )
{
long i,a,b,c,d,e,gold;
scanf("%ld",&i);
int j =(int) i/100000;
switch j
case 0:gold=i*0.1; break;
case 1:gold=a+(i-100000)*0.075;break;
case 2:
case 3:gold=b+(i-200000)*0.05; break;
case 4:
case 5:gold=c+(i-400000)*0.03; break;
case 6:
case 7:
case 8:
case 9:gold=d+(i-600000)*0.015; break;
default:gold=e+(i-1000000)*0.01;
printf ("gold=%ld",gold);
}