c语言 大家帮我看看这个小程序错在哪?为何运行不了,多谢啦!

#include<stdio.h>#include<math.h>#definePI3.1415926main(){longdoublep1=981.0;longdoub... #include <stdio.h>
#include <math.h>
#define PI 3.1415926
main()
{
long double p1=981.0;
long double g=9.80;
long double n=1.83e-5;
long double l=2e-3;
long double b=6.17e-6;
long double p2=76.0;
long double d=5e-3;
long double a,q,t,v,j1,j2,j3;
printf("Please input t,v:\n");
scanf("%lf,%lf",&t,&v);
a=sqrt(9*n*l/(2*p1*g*t));
j1=n*l/(t*(1+b/(p2*a)));
j2=pow(j1,3);
j3=sqrt(j2);
q=18*PI*j3*d/(sqrt(2*p1*g)*v);
printf("%lf\n",q);
}
展开
 我来答
kaixingui2012
2014-09-22 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6896万
展开全部
代码没有啥大问题,只是你定义long double没有意义!
你所说的错误是什么?看到的结果不对?
第一、输入两个数时,要以逗号分隔,如:10000,20000
printf("%lf\n",q);这样会因为数据太小,只能看到0.000000
追问

可是,改成double后还是不成功啊

追答
scanf("%lf,%lf",&t,&v);  这里你怎么给改了,double就是%lf   ,float才是%f
printf("%.10E\n",q); 按科学计数法看结果吧,不然你看到的都是0
活在当下038
2014-09-22
知道答主
回答量:16
采纳率:0%
帮助的人:11.2万
展开全部
我运行了,没有错误啊,就是数值太小了最后都等于0了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式