很简单的C语言代码计算结果为什么不会变,是什么地方错了,运行不论输入什么都是输出一个数

#include "stdio.h"
main()
{
double a,b,c,d,e,v;
printf("输入R,E\n");
scanf(" %f, %f",&a,&b);
c=a+1.22;
d=a+15.96;
e=d/17.185;

v=(14.74/c)*(e*0.5-b);
printf("v=%f\n",v);
getch();
return 0;
}

一、因为你的变量定义的是double,所以,输入输出格式要用%lf
scanf(" %lf, %lf",&a,&b);

printf("v=%lf\n",v);

二、运行时,输入数据要用逗号(英文符号)分隔
如:12,34
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-30
#include "stdio.h"
int main()
{
double a,b,c,d,e,v;
printf("输入R,E\n");
scanf("%lf%lf",&a,&b); // 应该用%lf,而且前面的空格去掉
c=a+1.22;
d=a+15.96;
e=d/17.185;

v=(14.74/c)*(e*0.5-b);
printf("v=%lf\n",v);
getchar();
return 0;
}
第2个回答  2012-10-30
中间输入的时候,你有没有输入 , 号???
输入的格式是:
5.2,3.1
第3个回答  2012-10-30
double改为float,并注意输入2个数用逗号隔开
第4个回答  2012-10-30
如果说你的程序是直接复制过来的话,scanf(" %f, %f",&a,&b);这条语句中每个%f前的空格很可能是个问题。
第5个回答  2012-10-30
用double定义是scanf(" %f, %f",&a,&b); 的%f要改为%lf 是LF
相似回答