编写程序求1-3+5-7+…-99+100的值。
时间: 2024-11-12 15:34:12 浏览: 11
要编写程序求1-3+5-7+…-99+100的值,你可以采用与之前给定的C语言示例类似的方法。这里有两个方法:
**方法1: 使用循环迭代计算**
```c
#include <stdio.h>
int main() {
int i, sum = 0, sign = 1; // 初始化标志变量sign来控制加减符号
for (i = 1; i <= 100; i += 2) {
sum += sign * i; // 每次迭代时更新和,根据当前的sign(正或负)
sign = -sign; // 变更sign的值,从正变负或从负变正
}
printf("1-3+5-7+...-99+101 = %d\n", sum);
return 0;
}
```
运行这段代码,你会得到结果。
**方法2: 使用递归实现**
```c
#include <stdio.h>
// 递归函数,参数为当前数和当前的累加和
int calculate_sum(int n, int sum) {
if (n == 101) {
return sum;
} else {
// 如果n为奇数,则添加;如果偶数,则减去
if (n % 2 != 0) {
return calculate_sum(n + 2, sum + n);
} else {
return calculate_sum(n + 2, sum - n);
}
}
}
int main() {
int result = calculate_sum(1, 0);
printf("1-3+5-7+...-99+101 = %d\n", result);
return 0;
}
```
在这两个方法中,`calculate_sum` 函数用于递归地计算序列的总和。第一个方法是迭代,第二个方法则是利用递归策略。
阅读全文