#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);
}
}
}
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);
}
}
输入的是字符,判断需要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。