我的c语言为什么总是输出0.00?

#include<stdio.h>intmain(){doubleh,m,T;scanf("%d%d",&h,&m);m=m/60;h=m+h;T=(4*h*h)/(h+... #include<stdio.h>
int main()
{
double h,m,T;
scanf("%d%d",&h,&m);
m=m/60;
h=m+h;
T=(4*h*h)/(h+2);
printf("%.2f\n",T);
return 0;
}
展开
 我来答
庄政警
2020-03-05 · TA获得超过9916个赞
知道大有可为答主
回答量:1113
采纳率:94%
帮助的人:883万
展开全部

scanf("%lf,%d,%lf", &rate, &year, &capital);

你的代码里输入格式是%lf,%d,%lf,中间有逗号,所以输入的时候也要有逗号

估计你输入的时候没加逗号(注意是西文逗号),而是用空格分隔的,要不加逗号用空格分隔的话,就把%lf,%d,%lf中间的逗号去掉,这样就可以用空格分隔输入了

我试着运行了下:

年化15%,5年翻倍,没错

IT圈新鲜事
2019-11-11 · 记录IT技术领域中的新鲜事
IT圈新鲜事
采纳数:1722 获赞数:11351

向TA提问 私信TA
展开全部
scanf("%d%d",&h,&m);
h和m两个参数是double类型的,读取的时候需要用%ld,
把上面那句话改成scanf("%lf %lf",&h,&m);
就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jeepfly2001
2019-12-23 · TA获得超过1493个赞
知道小有建树答主
回答量:1609
采纳率:71%
帮助的人:648万
展开全部
你定义的是双精度变量,但scanf中的控制字符却是%d,这输入的是整型变量的值,那么输出的值当然会发生错误。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
户哲茂5B
2019-11-11 · TA获得超过817个赞
知道小有建树答主
回答量:781
采纳率:59%
帮助的人:134万
展开全部
double h,m,T;
scanf("%d %d",&h,&m);
你定义的是double
但是输入的确实%d也就是int型的数据,肯定会出错
改成

scanf("%lf%lf",&h,&m);
试试
追问
为什么lf的值与f的值输出的不同呢?
追答
f是float  
lf是double
有的时候不通用,尽量区分开这两个定义
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
萍水e相逢
2019-11-11 · TA获得超过3万个赞
知道大有可为答主
回答量:5.9万
采纳率:46%
帮助的人:1.4亿
展开全部
double型变量,输入用 %f,怎么用%d
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式