问题及代码
/*
烟台大学计算机与控制工程学院
文件名称: 等比数列
作 者:展一
完成时间:2016年10月27日
题目描述
已知q与n,求等比数列之和: 1+q+q2+q3+q4+…+qn
输入
输入数据含有不多于50对的数据,每对数据含有一个整数n(1≤n≤20),一个小数q(0<q<2)。
输出
对于每组数据n和q,计算其等比数列的和,精确到小数点后3位,每个计算结果应占单独一行。
样例输入
6 0.3 5 1.3
样例输出
1.428
12.756
*/
#include <stdio.h>
int main()
{
int n, i;
double q,sum,next;
while(scanf("%d %lf", &n, &q)!=EOF)
{
sum=1;
next=1;
for(i=1; i<=n; ++i)
{
next*=q;
sum=sum+next;
}
printf("%.3f\n",sum);
}
return 0;
}
运行结果
知识点总结
循环语句嵌套,while和for语句使用。
计算等比数列,第一项为1,可以将1先拿出来作为已知项,再将从第二项开始的每一项运用公式进行运算,通过循环语句一项项求和。
学习心得
对每一项进行计算求和再循环,避免了直接运用等比求和公式的繁琐麻烦。