在今年的湖北师范大学专升本C语言程序设计题中有这样一道题,算是含金量比较高的一道程序题,难度对于初学者来说排行SS级。
题目:计算1-1/22+1/333+1/4444......
这是一道数列题目,想必大家在高中的时候都备受这种题目的折磨。学长也不例外,因此学了计算机,现在能用计算机解决高中数学里遇到的大部分难题了。
那么我们来看看怎么编写程序吧:
//累加求和,1-1/22+1/333+......
#include<stdio.h>
//定义函数sum用来实现求数列和的方法
double sum(int x){
//定义double类型的变量,并赋初值0,用来记录每次累加的和
double s = 0;
//外层for循环用来控制分母增长到哪里
for(int i=1;i<=x;i++){
//在外层循环内定义double类型的变量t,用来记录分母的增长,并且在每一次内层循环结束以后清0,保证分母的准确性
double t = 0;
//内层for循环用来实现分母的增长,变量j=i是因为分母是从个位数开始增长的,分母有多少位,内层循环就需要循环多少次
for(int j = i;j>0;j--){
//t变量用来记录分母的增长,当j=1时t=0*10+1,当j=2时,第一次循环t=0*10+2,第二次循环t=2*10+2,以此类推
t = t * 10