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

急需啊

#include

usingnamespacestd;

intmain()

{

intn;

staticintsum=1;

cout<<"请输入N:"<<endl;

cin>>n;

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

{

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

{

sum=sum+j;

}

}

cout<<"结果2为:"<<sum;

system("pause");

return0;

扩展资料

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

#include<stdio.h>

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;

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-20

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

参考代码:

#include <stdio.h>
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
*/

本回答被网友采纳
第2个回答  2018-02-22
把n用一个数代替一下,定义里把n去掉,电脑里没有软件,未进行编译,如有问题请留言,如无问题望采纳。
#include<stdlib.h>
#include<stdio.h>
void main
{int s,a,sum1,n;
for(a=0;a<n;a++)
{
for(sum1=0;sum1<n;sum1++)
{sum1+=sum1;
}
s+=a;
}
printf("s=%d",s);
getch();
}
第3个回答  2019-04-08
// 有需要问编程 相关问题的可以联系我
#include <stdio.h>
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;
}

第4个回答  推荐于2017-09-02
运用了两次小递归,s用来求(1+2+3...+n) sum用来求1+(1+2)+(1+2+3)+…+(1+2+3+…+n)
#include<iostream>
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<<sum(n);
return 0;
}追问

能不能用for语句做呀

追答

你即使大一大二,用这个递归也很正常。这个用for比较繁琐。

本回答被提问者采纳