c语言关于if语句的程序

#include <stdio.h>
void choice();
int main()
{
char A;
double a,b,c;

printf("input your car,1——夏利,2——富康,3——桑塔纳\n");
scanf("%c",&A);

if(A==1)
{
printf("您选择的是夏利,请输入路程");
scanf("%f",&a);
if(a<=3)
{
b=7*a;
printf("cost%f",b);
}
else
{
c=21+2.1*a;
printf("cost%f",c);
}
}

else if(A==2)
{
printf("您选择的是富康,请输入路程");
scanf("%f",&a);
if(1<=3)
{
b=8*a;
printf("cost%f",b);
}
else
{
c=24+2.4*a;
printf("cost%f",c);
}
}

else if(A==3)
{
printf("您选择的是桑塔纳,请输入路程");
scanf("%f",a);
if(1<=3)
{
b=9*a;
printf("cost%f",&b);
}
else
{
c=27+2.7*a;
printf("cost%f",c);
}
}

return 0;

}

这个程序为什么运行不了。

scanf("%c",&A);

if(A==1)
你是读入的字符,所以判断时要按字符判断:
if(A=='1')
{
}
else if if(A=='2')
{
}
else if if(A=='3')
{
}
还有一些小问题,帮你优化了,你再试试
int main()
{
char A;
double a,b,c;

printf("input your car,1——夏利,2——富康,3——桑塔纳\n");
scanf("%c",&A);

if(A=='1')
{
printf("您选择的是夏利,请输入路程");
scanf("%lf",&a);
if(a<=3)
{
b=7*a;
printf("cost%lf",b);
}
else
{
c=21+2.1*a;
printf("cost%lf",c);
}
}
else if(A=='2')
{
printf("您选择的是富康,请输入路程");
scanf("%lf",&a);
if(a<=3)
{
b=8*a;
printf("cost%lf",b);
}
else
{
c=24+2.4*a;
printf("cost%lf",c);
}
}
else if(A=='3')
{
printf("您选择的是桑塔纳,请输入路程");
scanf("%lf",a);
if(a<=3)
{
b=9*a;
printf("cost%lf",&b);
}
else
{
c=27+2.7*a;
printf("cost%lf",c);
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-16
scanf("%c",&A);
输入的是字符,判断需要if(A==‘1’)这样,还有后面两个if()里的判断有输入错误:
else if(A==2)
{
printf("您选择的是富康,请输入路程");
scanf("%f",&a);
if(1<=3) //*********这里判断手误了************************
{
b=8*a;
printf("cost%f",b);
}
else
{
c=24+2.4*a;
printf("cost%f",c);
}
}
第2个回答  2011-10-16
else if(A==3)应该改成else。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网