为了账号安全,请及时绑定邮箱和手机立即绑定

c++新手问题

c++新手问题

C++
HUX布斯 2018-07-29 13:13:43
求 完数#include<iostream>using namespace std;int sum=0;int a;int main(){for(int a=1;a<=1000;a++){for(int i=1;i<=a;i++)if(a%i)continue;sum=sum+i;if(a!=sum)continue;cout<<a<<endl;system("pause");}}编译后提示 这行" sum=sum+i; "name lookup of `i' changed for new ISO `for' scoping using obsolete binding at `i' 是什么意思我错在哪? 应该怎么改? 为什么?
查看完整描述

1 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

在程序开始时你已经定义过a了,然后在for循环里又再一次定义

#include<iostream>
using namespace std;

/*写的是C风格的代码*/
int main()
{
int sum;
int i,j;
for( i = 2 ; i <= 1000 ; i++ )//1不是完数,不必判断
{

sum=0;//初始化sum=0

for( j = 1 ; j <= i/2+1 ; j++)
{

if( 0 == i%j )
{
sum=sum+j;
}
}
if( i ==sum )
{
cout<<i<<endl;
}
//system("pause");/*不知道你这句话要干嘛,不懂加在哪合适?*/
}
return 0;
}

百度百科里有关于完数的介绍,你可以去看下,要学会自己在网上找资料,不要一味的不懂就问。应该尝试自己解决。

查看完整回答
反对 回复 2018-08-01
  • 1 回答
  • 0 关注
  • 641 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信