江小虫儿


私信TA

用户名:wmmjjjccc

访问量:3291

签 名:

等  级
排  名 4225
经  验 1667
参赛次数 0
文章发表 8
年  龄 0
在职情况 学生
学  校 五邑大学
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:

一开始一直错,错在1/2=0,要用1/2.0才会有0.5。
参考代码:

#include<stdio.h>

#include <stdlib.h>


float calc(int a);

float calcsum(int b);


int main()

{

int n,c;

float m,temp,sum;     //temp反弹高度    sum总共经过长度

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

c = n - 1;



if (n == 1)

{

sum = m;

}

else

{

sum = m + 2 * calcsum(c)*m;

}


temp = calc(n)*m;


printf("%.2f %.2f\n", temp, sum);


system("pause");

return 0;

}



float calc(int a)           //计算a个1/2的乘积

{

float sum1 = 1;

for (int i = 0; i < a; i++)

{

sum1 *=1 / 2.0;           //一开始一直错,错在1/2=0,要用1/2.0才会有0.5。

}

return sum1;

}



float calcsum(int b)       //计算1/2+(1/2)(1/2)+(1/2)(1/2)(1/2)+(1/2)(1/2)(1/2)(1/2)+......一共b项相加。

{

float sum2 = 0;

for (int i = 1; i <= b; i++)

{

sum2 += calc(i);


}

return sum2;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区