题目:
计算 1 到 n 的等差数列的和,即: s = 1 + (1 + 2) + …… +(1 + 2 + …… + n)
代码部分:
#include <stdio.h>
int main()
{
int n, i, s = 0, t = 0;
// 从标准输入读取一个整数
scanf("%d", &n);
// 计算累加和
for (i = 1; i <= n; i++)
{
t = t + i; // 计算当前累加值
s = s + t; // 累加到总和
}
// 输出累加和
printf("%d", s);
return 0;
}
代码讲解:
首先,定义了四个变量:n、i、s 和 t。
其中 n 是从标准输入读取的整数,i 是循环计数器,s 是最终累加和,t 是当前循环的累加值,其初始值为 0。
然后使用 scanf 函数从标准输入读取一个整数,该值存储在变量 n 中。
接下来使用 for 循环计算 1 到 n 的等差数列的和。
在循环中,变量 i 从 1 开始递增,每次循环将 t 加上 i,然后将 t 再加到 s 中。当 i 等于 n 时,循环结束。此时 s 的值就是 1 到 n 的等差数列的和。
最后使用 printf 函数输出 s,表示 1 到 n 的等差数列的和。
程序返回 0,表示程序运行成功结束。