解题思路:





注意事项:





参考代码:

请大家帮我看看,到底哪里不对,导致答案错误

/*

一球从M米高度自由下落,每次落地后返回原高度的一半,再落下。

它在第N次落地时反弹多高?共经过多少米? 保留两位小数

*/

#include <stdio.h>


int main()

{

double m,t;

int n;

scanf("%f %d",&m,&n);

int i;

t=m;

double sum=0,h=m;//第n次落地时反弹高度 h

if(n>0){

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

sum+=2*h;

h=1.0*m/2;

m=h;

}

sum-=t;

printf("%.2f %.2f",h,sum);

}

return 0;

}


 

0.0分

1 人评分

  评论区

#include <stdio.h>
int main()
{
	double m,t;
	double sum=0,h;
	int n;                    //像scanf()这样的语句应该在int,double等的后面
	int i;
	scanf("%lf %d",&m,&n);//前面定义的是double类型的变量m,则这里接收时就要用%lf
	h=m;
	t=m;
	if(n>0){
		for(i=1;i<=n;i++){
			sum+=2*h;
			h=1.0*m/2;
			m=h;
		}
		sum-=t;
		printf("%.2f %.2f",h,sum);
	}
	return 0;	
}
就这两个问题,其他还好
2017-07-20 12:56:40
谢谢
2017-07-18 10:18:23
请指教。
2017-07-18 10:18:13
  • «
  • 1
  • »