本题要求实现一个用递归计算1+2+3+…+n的和的简单函数。
int sum(int n){
for(int i=1,int s=0;i<=n;i++){
s+=i;
}
return s; //返回的就是和
}
差不多这样,C语言这边语法有点模糊了,有帮助的话还请采纳答案
看错了,要用递归是吧,给你补一个完整的:
#include
main()
{
int n;
long fun(int x);
scanf("%d",&n);
printf("%ld\n",fun(n));
}
long fun(int x)
{
if (x==1) { return 1;}
else{return x+fun(x-1)};
}
#include "stdio.h"
int sum(int acc, int t)
{
if (t == 0) return acc;
return sum(acc + t, t - 1);
}
int main()
{
scanf("%d", &n);
printf("%d\n",sum(0, n));
}
#include<stdio.h>
int addNum(int n)
{
if(n==0)
{
return 0;
}
return addNum(n-1)+n;
}
int main()
{
int sum = addNum(100);
printf("sum=%d\n",sum);
return 0;
}
#include
int fun(int n)
{
if(n==0)//递归出口
{
return 0;
}
else
{
return n+fun(n-1);
}
}
int main()
{
int n;
scanf("%d",&n);
printf("1+2+3+...+n=%d\n",fun(n));
}
#include
int addNum(int n)
{
if(n <= 0)
return -1;
if(n == 1)
return 1;
return addNum(n - 1) + n;
}
int main()
{
int n;
scanf("%d", &n);
printf("%d", addNum(n));
return 0;
}
#include "stdio.h"
int digui(int n)
{int sum;
if(n==1) sum=1;
else{
sum=n+digui(n-1);
}
return sum;
}
int main()
{ int n,s;
printf("请输入n的值:");
scanf("%d",&n);
s=digui(n);
printf("s=%d\n",s);
}