返回

对于pow使用的注意事项

发布时间:2023-02-07 08:00:37 251

【问题描述】
已知一球从高空落下时,每次落地后反弹至原高度的四分之一再落下。编写一程序,从键盘输入整数n和m,求该球从n米的高空落下后,第m次落地时共经过的路程以及第m次落地后反弹的高度,并输出结果。
【输入形式】
从键盘输入整数n和m,以空格隔开。
【输出形式】
输出两行:
第一行输出总路程,保留小数点后两位;
第二行输出第m次落地后反弹的高度,保留小数点后两位。
【输入样例】

40 3

【输出样例】

65.00
0.63

程序如下:

#include

#include

#include

int main() {

double s,h,n,m,i;
scanf("%lf%lf",&n,&m);
s=n;
for(i=1;i<=m-1;i++){
s=s+2*n*pow(0.25,i);
}
h=1*n*pow(0.25,m);
printf("%.2f\n%.2f",s,h);
return 0;

}

在使用pow函数时,一定要注意pow(x,y)中的x,y是double型。

在此程序中,若将0.25改成1/4,结果是错误的。因为1/4用的是整型运算,即1/4在程序中等于0,所以

pow(1/4,i)==pow(0,i),所以输出错误。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像
精选文章
thumb 中国研究员首次曝光美国国安局顶级后门—“方程式组织”
thumb 俄乌线上战争,网络攻击弥漫着数字硝烟
thumb 从网络安全角度了解俄罗斯入侵乌克兰的相关事件时间线
下一篇
如何使用C语言简单的介绍一个人 2023-02-07 07:49:57