为什么输出函数 f33330

为什么输出都是0
#include&stdio.h&
#include&math.h&
int main()
int n,m,k;
while(~scanf("%d %d %d",&n,&m,&k))
if(n &= 5 && n &= 1 && m &= 5 && m &= 1 && k &= 5 && k &= 1)
k / (n + m + k) * (k-1) / ( n + m + k - 1);
printf("%.2lf\n",i);
浏览 625回答 3
k*1.0 / (n + m + k) * (k-1) / ( n + m + k - 1);
慕的地4358790
k*1.0 / (n + m + k) * (k-1) / ( n + m + k - 1);因为函数声明变量的时候都是整型,所以i的计算结果为整型(已经舍去小数点后的东西,再改为保留两位小数0.00),但是k*1.0可以起到隐形类型转换为Double类型,此刻输出的正是你想要的答案。
m n k定义的都是整数,整数÷整数=整数。
随时随地看视频c语言1/2为什么输出0啊_百度知道
c语言1/2为什么输出0啊
printf(&%f&,1/2);不是0.5吗,float有小数啊
我有更好的答案
C语言中 整数与整数作除法时有 “趋零”就是 6/4 ,在C中得出的结果是1,而不是1.5
最后的结果取的是比原来小的整数LZ
所说的 1/2 计算结果已经是0,即使数据类型 是float
采纳率:14%
1和2都是整形数,1除以2的0.5,但是他会默认将结果转为整形,就是0,输出的时候是float型,所以将结果0转换为float型,就是0.00000。要想输出0.5,在1/2前加上强制转换(float)
1/2是按整形计算的,不足1的哪怕就是0.9,都截为0.想输出0.5,写成1.0/2.0,或1.0/2,或1/2.0,就是后面两种不太规范,属于系统自动转换的
因为你的被除数是1,是一个int类型的数,输出结果也是一个int类型的,这里就是零的;如果要输出的是0.5,那你就要把1改为1.0,这样被除数就是一个float类型的数了,输出结果也将是一个float类型的数。希望能帮到你!
因为1/2是整数的除法,结果是整数,所以为0的,你要得到小数的话,改为1.0/2就好啦
应该改成printf(&%f&,1.0/2),1是以整数(int)计算的,而改成1.0就是以小数(float)计算的了
其他6条回答
为您推荐:
其他类似问题
您可能关注的内容
c语言的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。为什么我输出的是0?
#include &stdio.h&
double price(double ditance,double period)
if(ditance&3)
double Price=13;
else if(period&23||period&5)
double Price=13+(ditance-3)*2.3;
double Price=13+(ditance-3)*2.3*1.2;
int main()
//double price0;
double price1;
//double price2;
//double ditance1;
//double period1;
//double period2;
//scanf("%d,%d,%d",&ditance,&period1,&period2);
price1=price(12,9);
// price2=price(12,18);
//price0=price1+price2;
printf("小明每天打车的总费用为%lf\n",price1);
浏览 260回答 1
price() 函数中你的 Price 定义了多次, 定义一次就行了, 把 7,11,15行中的 double 去掉就行了定义时尽量初始化,为了安全
随时随地看视频为什么无论输入什么总是输出0?_百度知道
为什么无论输入什么总是输出0?
我有更好的答案
根据图片分析,多数是数据类型的问题。 1、在sqrt()中几乎都是double数据类型的。2、float类型使用时,进行初始化不能用整数,比如你代码中的 float x1=2; 这是错误的因为2是整型字面 常量。 正确的写法是float x1 = 2.0 //f是单精度浮点数的后缀 。 3、一般来说,涉及小数,统一使用double。
网络管理与维护
定义数据类型时改为如下所示: long double a=2; int n,i=1,sum=0; 因为你在输入时,输入的类型是整数,试过了
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。已解决问题
为什么电脑输入0打出来的是/
浏览次数:4089
用手机阿里扫一扫
最满意答案
键盘问题&&`&检查一下&/&键是否卡住`&如果没卡`住那就可能是键盘坏了`拿电脑维修店去`或附近`的电脑上试试`&就知道了`
答案创立者
以企业身份回答&
正在进行的活动
生意经不允许发广告,违者直接删除
复制问题或回答,一经发现,拉黑7天
快速解决你的电商难题
店铺优化排查提升2倍流量
擅长&nbsp 店铺优化
您可能有同感的问题
扫一扫用手机阿里看生意经
问题排行榜
当前问题的答案已经被保护,只有知县(三级)以上的用户可以编辑!写下您的建议,管理员会及时与您联络!
server is ok

我要回帖

更多关于 达芬奇输出为什么闪 的文章

 

随机推荐