分别用while ,do-while,for语句求出前20项和有一个序列:2/1,3/2,5/3,8/5,13/8,21/13 …. 求出这个数列的前20项之和.分别用while 语句、 do-while 语句和for 语句实现.
问题描述:
分别用while ,do-while,for语句求出前20项和
有一个序列:2/1,3/2,5/3,8/5,13/8,21/13 …. 求出这个数列的前20项之和.分别用while 语句、 do-while 语句和for 语句实现.
答
#include
void main()
{
int i = 2;
int j = 1;
int k = 0;
int t;
double sum = 0;
// 注释:1.while
while(k {
sum += (double)i/j;
if (k printf("%d/%d + ",i,j);
else
printf("%d/%d = %f",i,j,sum);
++k;
t = j;
j = i;
i += t;
}
// 注释:2.do while
//do
//{
// sum += (double)i/j;
// if (k // printf("%d/%d + ",i,j);
// else
// printf("%d/%d = %f",i,j,sum);
// ++k;
// t = j;
// j = i;
// i += t;
//} while (k // 注释:3.for
//for (k = 0; k //{
// sum += (double)i/j;
// if (k // printf("%d/%d + ",i,j);
// else
// printf("%d/%d = %f",i,j,sum);
// t = j;
// j = i;
// i += t;
//}
}
完整程序,放入编译器运行吧,注意:当你测试其中一种实现方式时,请把其他两个方式注释起来,