c语言,计算1+2+3·········+n的递归算法

#include <stdio.h>
int a(int n);
void main()
{
int n;
scanf("%d",&n);
int sum;
sum= a(n);
printf("%d\n",sum);
}
int a(int n)
{
int sum;
if(n==1)
return 1;
else
sum=n+a(n-1);
return sum;
}
请问这个算法哪里错了

第1个回答  2018-03-11
#include<stdio.h>
int fun(int n){
if(n==1)return 1;
else return fun(n-1)+n;
}
int main(){
int n;
printf("请输入n的值:");
scanf("%d",&n);
printf("%d\n",fun(n));
return 0;
}追问

我想问下我的错在哪里

本回答被网友采纳
第2个回答  2018-03-11
没错误 我运行正常!追问

你用什么运行的,我用的vc++6.0,编译总是有问题

追答

Code blocks

本回答被提问者采纳
相似回答