C语言数列求和(使用for循环)

C语言 for 循环示例:计算 1+2+3+…+100。

问题分析

本题需要反复累加 100 次,而且每次累加的数字都递增 1。这种特性完全符合 for 循环语句的使用条件。

利用 for 循环语句的循环变量i的递增,产生 1~100 的数字,并在循环体中累加求和。

算法描述

1) 定义累加和为 s 并设初始值为 0;
2) 定义循环变量 i;
3) 设定 i 初始值为 1;用 i 控制累加次数,同时表示当前的加数;
4) s = s + i;
5) i = i + 1;
6) 如果 i > 100,则转到步骤 7,否则转到步骤 4;
7) 输出 s 的值;
8) 结束。


流程图描述

代码清单 3:计算 1+2+3+…+100 的和
#include <stdio.h>
#include <stdlib.h>
int main( )
{
    int i,s=0;            //初始化
    for(i=1; i<=100; i++)
        s += i;           //s = s + i;每次执行时 s 都在原基础上增加 i
    printf("s=%d\n",s);
    system("pause");
    return 0;
}

运行结果:

s=5050


程序运行时,循环变量 i 从 1 开始每次递增 1,加数也随之递增,并累加到变量 s 中。程序运行期间,各变量值的变化情况如表 1 所示。

表 1:代码清单 1 运行过程中各变量值的变化情况
循环变量 i 加数 i  累加后的和 s
    0
1 1 1(0+1)
2 2 3(1+2)
3 3 6(3+3)
4 4 10(6+4)
5 5 15(10+5)
6 6 21(15+6)

上面的变量 s 表示累加之后的和,在编程中通常称之为累加器。类似地,程序中用于统计次数的变量,通常称之为计数器,比如上面的变量 i。

累加器和计数器在循环结构的程序设计中经常会用到,在进入循环前,它们通常都被初始化为 0。