用C语言编写程序,计算s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)

急需啊
2024-11-16 00:30:42
推荐回答(5个)
回答1:

#include

usingnamespacestd;

intmain()

{

intn;

staticintsum=1;

cout<<"请输入N:"<

cin>>n;

for(inti=1;i<=n;i++)

{

for(intj=1;j<=i;j++)

{

sum=sum+j;

}

}

cout<<"结果2为:"<

system("pause");

return0;

扩展资料

C语言计算1-1/3+1/5-……的前n项之和

#include

intmain(void){

inti,n;

doublef,s;

intflag=1,m=1;

printf("请输入分母的终值:");

scanf("%d",&n);

for(i=1,s=0;i<=n;i++)

{

f=flag*1.0/m;

s+=f;

flag=-flag;

m=m+2;

}

printf("1+1/3-1/5+...+1/n=%.2f\n",s);

system("pause");

return0;

}

回答2:

思路:先定义一个函数fun(n)用来计算1到n的和,接着for循环计算1到n的fun(n)和就是s的值。

参考代码:

#include 
int fun(int n){
int sum=0,i;
for(i=1;i<=n;i++)
sum+=i;
return sum;
}
int main()
{
int n,sum=0,i;
scanf("%d",&n);
for(i=1;i<=n;i++)
sum+=fun(i);
printf("S=%d\n",sum);
return 0;
}
/*
3
S=10
*/

回答3:

把n用一个数代替一下,定义里把n去掉,电脑里没有软件,未进行编译,如有问题请留言,如无问题望采纳。
#include
#include
void main
{int s,a,sum1,n;
for(a=0;a{
for(sum1=0;sum1{sum1+=sum1;
}
s+=a;
}
printf("s=%d",s);
getch();
}

回答4:

// 有需要问编程 相关问题的可以联系我
#include 
int main() {
    int n = 0;
    int a = 0, sum = 0;
    printf("请输入 n = ");
    scanf("%d",&n);
    for(int i = 1; i <= n; ++i ) {
        a += i;
        sum += a;
    }
    printf("s = %d\n", sum);
    return 0;
}

回答5:

运用了两次小递归,s用来求(1+2+3...+n) sum用来求1+(1+2)+(1+2+3)+…+(1+2+3+…+n)
#include
using namespace std;

int s(int n)
{
if(n==1)
return 1;
return s(n-1)+n;

}

int sum(int n)
{
if(n==1)
return 1;
return sum(n-1)+s(n);
}

int main()
{
int n = 0;
cin>>n;
cout<return 0;
}