编写C语言利用高斯法求1+2+……+n,n为正整数
时间: 2024-10-13 12:10:59 浏览: 39
在C语言中,我们可以使用高斯求和公式(也称为等差数列求和),即Sn = n*(a1 + an) / 2,来编写一个程序来计算1到n的所有整数之和。这里a1表示首项(1),an表示第n项(n),n是用户提供的正整数。
以下是一个简单的示例:
```c
#include <stdio.h>
// 高斯求和函数
int gauss_sum(int n) {
int sum = (n * (1 + n)) / 2; // 应用高斯求和公式
return sum;
}
int main() {
int n;
printf("请输入一个正整数n:");
scanf("%d", &n);
if(n <= 0) {
printf("输入错误,n必须是正整数。\n");
} else {
int result = gauss_sum(n);
printf("1到%d的和是:%d\n", n, result);
}
return 0;
}
```
在这个程序里,首先从用户那里获取输入的正整数n,然后检查它是否合法。如果n是非负整数,就计算并输出1到n的和;如果不满足条件,则给出错误提示。
阅读全文