求下列试子的值:2/1+3/2+4/3+5/4+……+50/49。
注意:1)用三种方法:while,do-while,for语句编写。
2)用调用子函数编写,可结合上面三种循环中的任意一种循环。
3)在if语句、while语句,for语句中,表达式后面都不能加分号,而在do-while语句while后面必须加分号。
4)1/2=0,不是0.5,所以中间有一个强制类型转换。
供参考:
#include<stdio.h>
double fun(int n)
{
int i=1;
double s=0;
while (i < n)
{
s += 1.0 * (i + 1) / i;
i++;
}
return s;
}
double fun1(int n)
{
int i = 1;
double s = 0;
do{
s += 1.0 * (i + 1) / i;
i++;
} while (i < n);
return s;
}
int main()
{
int n = 50, i;
double s = 0;
for (i = 1; i < n; i++)
s += 1.0 * (i + 1) / i;
printf("s(2/1+3/2+4/3+5/4+……+50/49) = %f\n", s);
printf("fun(%d)(2/1+3/2+4/3+5/4+……+50/49)=%f\n", n, fun(n));
printf("fun1(%d)(2/1+3/2+4/3+5/4+……+50/49)=%f\n", n, fun1(n));
return 0;
}