回 帖 发 新 帖 刷新版面

主题:程序 求和

计算s=1+(1+2)+(1+2+3)+(1+2+3+....n)的值
#include <iostream>
using namespace std;
void main()
{
int n,s,sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
s=0;
for(int j=1;j<=1;j++)
s+=j;
sum+=s;
}
cout<<sum<<endl;
system("pause");
}
这个程序看得不太清懂能帮忙分析注释下么谢谢了!![em2][em2]

回复列表 (共3个回复)

沙发


#include <iostream>
using namespace std;
void main()
{
int n,s,sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
s=0;//s是局部的和,诸如(1+2+...+n)的部分
for(int j=1;j<=1;j++)
s+=j;
sum+=s;//sum就是总的和
}
cout<<sum<<endl;
system("pause");
}
这并不难懂,用嵌套的循环来计算求和公式是很常见的,这还是要看你的数学功底

板凳

或者这样容易看明白一点:
#include <iostream>
using namespace std;
void main()
{
int n,s,sum=0;
cin>>n;
for(int i=1;i<=n;i++)  //在这个循环之内s的值一被更新保存下来
{
s=0;
{
for(int j=1;j<=1;j++)
s=+j;
}
sum=sum+s; }
cout<<sum<<endl;
system("pause");
}

3 楼


#include <iostream>
using namespace std;
void main()
{
int n,s,sum=0;
cin>>n;
for(int i=1;i<=n;i++)
{
s=0;
for(int j=1;j<=1;j++)    就在这里啦,j<=i,这样才对吧
s+=j;
sum+=s;
}
cout<<sum<<endl;
system("pause");
}
两位解释的基本都对了,不过你们肯定没有执行啊,这个程序有一点点错误哦。

我来回复

您尚未登录,请登录后再回复。点此登录或注册