谁帮我看看我编的这个C语言程序哪出错了..帮改正下..谢谢

2025-04-02 13:45:28
推荐回答(4个)
回答1:

每一个else if后只能控制一条语句,要控制多条用{}括起来!
这样就对了
#include
void main()
{
float x,y;
double a,i;
printf("请输入商品的数量和价格:");
scanf("%f%f",&x,&y);
if(x<5)
printf("%7.2f\n",y);
else if((x>=5)&&(x<10))
{a=y*0.1;
i=y-a;
printf("%7.2f\n",i); }
else if((x>=10)&&(x<20))
{a=y*0.2;
i=y-a;
printf("%7.2f\n",i); }
else if((a>=20)&&(a<30))
{a=y*0.4;
i=y-a;
printf("%7.2f\n",i); }
else if(x>=30)
{a=y*0.6;
i=y-a;
printf("%7.2f\n",i); }
}

回答2:

#include
void main()
{
float x,y;
double a,i;
printf("请输入商品的数量和价格:");
scanf("%f%f",&x,&y);
if(x<5)
printf("%7.2f\n",y);
if((x>=5)&&(x<10))
a=y*0.1;
else
i=y-a;
printf("%7.2f\n",i);
if((x>=10)&&(x<20))
a=y*0.2;
else
i=y-a;
printf("%7.2f\n",i);
if((a>=20)&&(a<30))
a=y*0.4;
else
i=y-a;
printf("%7.2f\n",i);
if(x>=30)
a=y*0.6;
else
i=y-a;
printf("%7.2f\n",i);
}
这样试一下

回答3:

if else的层数不要用多了,最多二三层就行,可以用多个if else,用多了,层次又不清楚,看的头都大了,

回答4:

最后一个else if去掉if