主题:程序 求和
engine01
[专家分:10] 发布于 2008-02-01 10:52:00
计算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个回复)
沙发
liuhenwang [专家分:80] 发布于 2008-02-01 22:44:00
#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");
}
这并不难懂,用嵌套的循环来计算求和公式是很常见的,这还是要看你的数学功底
板凳
joulang [专家分:30] 发布于 2008-02-06 07:43:00
或者这样容易看明白一点:
#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 楼
龙泽思宇 [专家分:40] 发布于 2008-02-08 22:10:00
#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");
}
两位解释的基本都对了,不过你们肯定没有执行啊,这个程序有一点点错误哦。
我来回复