c语言一道关于企业利润的问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 01:05:44
麻烦给找找错误
#include "stdio.h"
void main()
{
long a,x,sum;
printf("请输入数:");
scanf("%ld",&a);
if(a>1000000)
x=1;
if(a>600000)
x=2;
if(a>400000)
x=3;
if(a>200000)
x=4;
if(a>100000)
x=5;
if(a<=100000)
x=6;
switch(x)
{
case 1:sum=(a-1000000)*0.01+400000*0.015+200000*0.03+200000*0.05+100000*0.075+100000*0.1;break;
case 2:sum=(a-600000)*0.015+200000*0.03+200000*0.05+100000*0.075+100000*0.1;break;
case 3:sum=(a-400000)*0.03+200000*0.05+100000*0.075+100000*0.1;break;
case 4:sum=(a-200000)*0.05+100000*0.075+100000*0.1;break;
case 5:sum=(a-100000)*0.075+100000*0.1;break;
case 6:sum=100000*0.1;break;
}
printf("%.2ld\n",sum);
}

程序流程错误帮你修改了,逻辑错误你自己改吧
#include "stdio.h"
void main()
{
long a,x,sum;
printf("请输入数:");
scanf("%ld",&a);
if(a>1000000)
x=1;
goto Tag;
if(a>600000)
x=2;
goto Tag;
if(a>400000)
x=3;
goto Tag;
if(a>200000)
x=4;
goto Tag;
if(a>100000)
x=5;
goto Tag;
if(a<=100000)
x=6;
Tag:
switch(x)
{
case 1:sum=(a-1000000)*0.01+400000*0.015+200000*0.03+200000*0.05+100000*0.075+100000*0.1;break;
case 2:sum=(a-600000)*0.015+200000*0.03+200000*0.05+100000*0.075+100000*0.1;break;
case 3:sum=(a-400000)*0.03+200000*0.05+100000*0.075+100000*0.1;break;
case 4:sum=(a-200000)*0.05+100000*0.075+100000*0.1;break;
case 5:sum=(a-100000)*0.075+100000*0.1;break;
case 6:sum=100000*0.1;break;
}
printf("%.2ld\n",sum);
}