C程序:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在

共经过多少米?第10次反弹多高?这是题目,我编写的程序,有一点不对,#include<stdio.h>main(){floatheight=100.0,sum_heigh... 共经过多少米?第10次反弹多高?这是题目,我编写的程序,有一点不对,
#include <stdio.h>
main()
{float height=100.0,sum_height;
int i;
clrscr();
for(i=1;i<=10;i++) {
sum_height=height+height/2;
height=height/2; }
printf("%fm\n",sum_height);
printf("%fm\n",height);
getch();
return 0;
}
在输出的时候,0.292969m /*这个输出不对,应该是299.609375m,我是不是逻辑错了,但我想,这算错这不会是小数啦*/
0.097656m
展开
 我来答
好名字都被取了
2019-09-30 · TA获得超过423个赞
知道答主
回答量:101
采纳率:90%
帮助的人:6万
展开全部

这是个编程结合数学的问题,编程思路很简单,运用一个循环就好了,重点在于计算反弹总共经过多少米(第一次循环加一百米,之后的循环每次要加两倍)。以下是具体代码:

#include <stdio.h>
#include<stdlib.h>
#include<math.h>
 
 main()

    float high=100,t=100;
    int i,n;
    printf("Input:\n");
    scanf("%d",&n);
    for(i=0;i<n;i++){
        high=high/2;
        t+=2*high;
    }
    t-=2*high;
    printf("%d times:\n",n);
    printf("%.3f\n",t);
    printf("%.3f\n",high);
    system("pause");
}
所有的都想知道
推荐于2017-09-30 · TA获得超过231个赞
知道小有建树答主
回答量:257
采纳率:0%
帮助的人:334万
展开全部
#include <stdio.h>
main()
{float height=100.0,sum_height=100;
int i;
for(i=1;i<10;i++) {
height=height/2;
sum_height+=height*2;
}
printf("%fm\n",sum_height);
printf("%fm\n",height);
return 0;
}
第一次从100米高落下。
以后都是弹上落下所以乘以2
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
勤俭又清雅灬mm6
2009-03-28
知道答主
回答量:15
采纳率:0%
帮助的人:0
展开全部
#include <stdio.h>
void main()
{float m=100.0,n=0,sum=0;
int i;
for(i=1;i<=10;i++) {
n=m/2;//m为初始高度,n为每次谈起的高度
sum=sum+m+n; //sum初始值为0
m=n;//变化下一次的弹起的初始高度
}
printf("%f\n",sum);
printf("%f\n",n);
system("pause");
}
再说下你的程序,第一,你的逻辑就有错误,你的sum_height只为每次的下落的高度+弹起的高度,以前的根本加进去。第二,我也不明白你为什么要加clrscr()这个函数。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wkdhuiyi
2009-03-28 · TA获得超过117个赞
知道答主
回答量:141
采纳率:0%
帮助的人:99万
展开全部
错在for循环里,你这样赋值sum_height=(3/2)height 应该是sum_height+=height;你试试看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
白云慢悠悠丶
2020-03-23
知道答主
回答量:1
采纳率:0%
帮助的人:633
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式