初学者求教一道c语言题目

题目:皮球从height米的高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,如此反复。皮球在第n次反弹落地时,在空中经过的路程是多少米?第n次反弹的... 题目:皮球从height米的高度自由落下,触地后反弹到原高度的一半,再落下,再反弹,如此反复。
皮球在第n次反弹落地时,在空中经过的路程是多少米?第n次反弹的高度是多少?(输出保留1位小数)

我的答案:#include<stdio.h>
#include<math.h>
int main(void)
{
int height,n,i,j,item;
double distance;
printf("Input height: ");
scanf("%d",&height);
printf("Input n: ");
scanf("%d",&n);
distance=0;
for(i=1;i<=n;i++){
item=1;
for(j=1;j<=i;j++)

item=item*2*height*pow(0.5,j);
distance=distance+height+item;
}
height=height*pow(0.5,n);
printf("distance=%.1f\n",distance);
printf("height=%.1f",height);
return 0;
}
求教怎么改?我快要崩溃了~~
展开
 我来答
百度网友6fe74e2
2013-04-12 · TA获得超过6593个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:269万
展开全部

#include<stdio.h>

#include<math.h>

int main(void)

{

     int n,i;

     double distance;

     double height;//高度应该是double类型

     printf("Input height: ");

     scanf("%lf",&height);//高度应该是double类型

     printf("Input n: ");

     scanf("%d",&n);

     distance=0;

     distance+=height;//加上最开始的高度,

     for(i=1;i<=n;i++){

       //item=1;

       //for(j=1;j<=i;j++)

   

       //item=item*2*height*pow(0.5,j);

      distance+=height*pow(0.5,i)*2;

     }

     height=height*pow(0.5,n);

     //小数点后多保留几位,不然容易出现0.0,同时double类型应该是%lf

     printf("distance=%.6lf\n",distance);//printf("distance=%.1f\n",distance);

     printf("height=%.6lf\n",height);//printf("height=%.1f",height);

     return 0;

}

 

结果:

 

追问
恩,谢谢了。我现在刚学c语言的嵌套循环,有点迷茫。能向你请教一下什么情况下该使用嵌套循环吗?
追答
多于两个变量需要依次改变时,
百度网友f94b897fc
2013-04-12 · TA获得超过189个赞
知道答主
回答量:88
采纳率:100%
帮助的人:115万
展开全部
#include<stdio.h>
int main(void)
{
int i,n;
double distance,height;
printf("Input height:");
scanf("%lf",&height);
printf("Input n:");
scanf("%d",&n);
distance = height; //第一次落地的距离
for(i=1;i<n;i++)
{
height /= 2.0; //每次弹起都是上次的一半
distance +=(height * 2); //每次落地都是弹起的高度*2
}
height /= 2.0; //第N次落后再弹起一次
printf("The distance %lf,\n",distance);
printf(" the times %dth.\n",n);
printf("The height %lf\n",height);
return 0;
}

Input height:10

Input n:2

The distance 20.000000,

 the times 2th.

The height 2.500000

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式