C++中输出1+(1+2)+(1+2+3++n)

来源:百度知道 编辑:UC知道 时间:2024/05/25 23:58:06
#include<iostream.h>
void main()
{
int a=0,sum=0,n,i;
loop:
cout<<"输入N";
cin>>n;
for(i=1;i<=n;++i)
{
sum+=i;
a=a+sum;

}
cout<<sum<<" "<<a<<endl;
goto loop;

}

如何做到,COUT"1+(1+2)+(1+2+3++n)"
我的意思是 当N=5时,输出1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+5)= 同时输出结果!

#include "iostream.h"

long DoSum(int n)
{
long sum = 0;
while(n>0)
{
for(int i=1;i<=n;i++)
{
sum = sum + i;
}
n--;
}
return sum;
}

void main()
{
int n,i,j=2;
cout<<"请输入n:";
cin>>n;
cout<<"1+";
while(j<=n)
{
cout<<"(";
for(i=1;i<=j;i++)
cout<<i<<"+";
cout<<"\b";
cout<<")";
cout<<"+";
j++;
}
cout<<"\b";
cout<<"="<<DoSum(n)<<endl;
}

请输入n:7
1+(1+2)+(1+2+3)+(1+2+3+4)+(1+2+3+4+5)+(1+2+3+4+5+6)+(1+2+3+4+5+6+7)=84
Press any key to continue
这次可以了。。。希望结束此问题。。。

递归
从n开始递归,递归到1时输出

---
--
-

↑ 我用这种形势帮你完成,你想横的话自己修改,因为控制台看不了那么宽 这样更直观