C语言求1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值,n为键盘输入的一个整数
1个回答
展开全部
一楼的错了
明显要递归调用函数
楼上的程序只能计算1+2+.....n
的值
下面这个程序才是正确的
#include<stdio.h>
int
main()
{
int
fun(int
n),sum=0;
int
n;
scanf("%d",&n);
for(int
i=n;i>=1;i--){
sum+=fun(i);
}
printf("%d",sum);
}
int
fun(int
n)
{
if(n==1)
return
1;
else
return
n+fun(n-1);
}
没有打注释,有哪里看不懂的可以追问
呃
其实不用递归也是可以的
我新编了一个可能更容易看懂一点
#include<stdio.h>
int
main()
{
int
n,sum=0,i,j;
scanf("%d",&n);
for(i=n;i>=1;i--){
for(j=i;j>=1;j--){
sum+=j;
}
}
printf("%d",sum);
}
明显要递归调用函数
楼上的程序只能计算1+2+.....n
的值
下面这个程序才是正确的
#include<stdio.h>
int
main()
{
int
fun(int
n),sum=0;
int
n;
scanf("%d",&n);
for(int
i=n;i>=1;i--){
sum+=fun(i);
}
printf("%d",sum);
}
int
fun(int
n)
{
if(n==1)
return
1;
else
return
n+fun(n-1);
}
没有打注释,有哪里看不懂的可以追问
呃
其实不用递归也是可以的
我新编了一个可能更容易看懂一点
#include<stdio.h>
int
main()
{
int
n,sum=0,i,j;
scanf("%d",&n);
for(i=n;i>=1;i--){
for(j=i;j>=1;j--){
sum+=j;
}
}
printf("%d",sum);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询