请问各位C语言第8小题我错在哪,该怎么改?

 我来答
金色潜鸟
2020-07-19 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5550万
展开全部
height 没给初值。
输入 height, 试算时你可给 1.0, 便于心算校对。
#include <stdio.h>
#include <math.h>
int main () {
int n,i;
double h=1,s0,s;
printf("input height 1.0:\n");
scanf("%lf",&h);
printf("input n:\n");
scanf("%d",&n);
s = h;
s0 = 0.5 * h; //初值
for (i=1;i<n;i++)
{
s = s+s0*2.0; //总路程更新
s0=s0*0.5;
}
printf("%.1lf\n",s0);
printf("%.1lf\n",s); //小数点1位
return(0);
}
yx陈子昂
高粉答主

2020-07-30 · 每个回答都超有意思的
知道大有可为答主
回答量:3.2万
采纳率:75%
帮助的人:3737万
展开全部
基本错误height没有初始化
算法整个不知所云,height每次都减半,直接 height /=2; 就好了
s += height*2;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式