你的程序问题太多,我重新写了个.你复制编译看下.
#include
int main()
{
float n,m,sum1,high1;//n为初始高度,m为第m次落下次数,sum1第一次路程,high1第一次反弹
float high = 0;//high为第m次反弹高度
float sum = 0;//sum为第m次落地总路程
int i=2;
printf("请输入n和m的值:");
scanf("%f %f",&n,&m);//如输入40 3注意中间加空格
sum1 = n;
high1 = n/4;
sum = sum1;
high = high1;
while(i++<=m)
{
sum = sum + 2*high;
high = high/4;
}
if(m==1)
{
printf("\n第m次落地时的总路程为:%.2f\n",sum1);
printf("\n第m次落地后反弹的高度为:%.2f\n",high1);
}
else
{
printf("\n第m次落地时的总路程为:%.2f\n",sum);
printf("\n第m次落地后反弹的高度为:%.2f\n",high);
}
return 0;
}