C语言菜鸟求高手解答错误 error C2181: illegal else without matching if

#include<stdio.h>
void main()
{
printf("请输入您的价格");
double a;
scanf("%f",&a);
if(a<200) printf("%f",a);
else if(a>='200'&&a<'400') printf("%f",a);
else if(a>='400'&&a<'600') a=a*0.9;
printf("%f",a);
else if(a>='600'&&a<'1000') a=a*0.8;
printf("%f",a);
else if(a>=1000) a=a*0.75;
printf("%f",a);
}

#include<stdio.h>
void main()
{
double a;
printf("请输入您的价格");
scanf("%f",&a);
if(a<200) printf("%f",a);
else if(a>=200&&a<400) printf("%f",a);
else if(a>=400&&a<600){
a=a*0.9;
printf("%f",a);
}
else if(a>=600&&a<1000){
a=a*0.8;
printf("%f",a);
}
else if(a>=1000){
a=a*0.75;
printf("%f",a);
}
}
修改后,测试无语法错误

1、数字不能使用单引号括起来
2、if()else语句中,要注意使用大括号
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-29
写了好多没用的语句
#include<stdio.h>
void main()
{
double a;
scanf("请输入您的价格:%f",&a);
if(a>=400&&a<600) a=a*0.9;
else if(a>=600&&a<1000) a=a*0.8;
else if(a>=1000) a=a*0.75;
printf("%f",a);
}
第2个回答  2011-10-29
你把double变为float