求和:1+2+3+...+100=? 扩展:求所有的100以内所有的奇数的和与所有偶数的和。 用C语言程序三种循环结构求任意范围内的所有奇数与偶数的和。 求任意等差数列的前n项的和。
时间: 2024-05-15 21:20:04 浏览: 124
C语言实现求1+2+3+……+100的和,要求分别用while、do while、for循环实现。.txt
1. 1+2+3+...+100=5050
2. 所有奇数的和为1+3+5+...+99=2500,所有偶数的和为2+4+6+...+100=2550
3. 使用for循环:
```c
int i, odd_sum = 0, even_sum = 0;
int start, end; // 输入的范围,假设起始和结束的数都包括在内
printf("请输入范围的起始和结束数:");
scanf("%d%d", &start, &end);
for (i = start; i <= end; i++) {
if (i % 2 == 0) {
even_sum += i;
} else {
odd_sum += i;
}
}
printf("所有奇数的和为:%d,所有偶数的和为:%d", odd_sum, even_sum);
```
使用while循环:
```c
int i = start, odd_sum = 0, even_sum = 0;
while (i <= end) {
if (i % 2 == 0) {
even_sum += i;
} else {
odd_sum += i;
}
i++;
}
printf("所有奇数的和为:%d,所有偶数的和为:%d", odd_sum, even_sum);
```
使用do-while循环:
```c
int i = start, odd_sum = 0, even_sum = 0;
do {
if (i % 2 == 0) {
even_sum += i;
} else {
odd_sum += i;
}
i++;
} while (i <= end);
printf("所有奇数的和为:%d,所有偶数的和为:%d", odd_sum, even_sum);
```
4. 等差数列的前n项和公式为:$S_n = \frac{n}{2}(2a_1 + (n-1)d)$,其中$a_1$为首项,$d$为公差。可以使用for循环来计算:
```c
int i, n, a1, d, sum = 0;
printf("请输入等差数列的首项、公差和项数:");
scanf("%d%d%d", &a1, &d, &n);
for (i = 1; i <= n; i++) {
sum += a1 + (i - 1) * d;
}
printf("前%d项的和为:%d", n, sum);
```
阅读全文