数据结构(C语言)求1+2+...+n的算法程序
时间: 2023-08-01 14:09:02 浏览: 120
可以使用循环或递归来实现1到n的累加。
循环算法:
```c
#include <stdio.h>
int main() {
int n, sum = 0;
printf("请输入一个整数:");
scanf("%d", &n);
for (int i = 1; i <= n; i++) {
sum += i;
}
printf("1+2+...+%d = %d\n", n, sum);
return 0;
}
```
递归算法:
```c
#include <stdio.h>
int sum(int n) {
if (n == 1) {
return 1;
}
else {
return n + sum(n-1);
}
}
int main() {
int n;
printf("请输入一个整数:");
scanf("%d", &n);
printf("1+2+...+%d = %d\n", n, sum(n));
return 0;
}
```
两种算法都可以实现1到n的累加,但是递归算法可能会因为递归层数过多导致栈溢出。因此在实际应用中,循环算法更为常用。
阅读全文