
c++新手问题
求完数#include<iostream>usingnamespacestd;intsum=0;inta;intmain(){for(inta=1;a<=1000;a++...
求 完数
#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'
是什么意思
我错在哪? 应该怎么改? 为什么? 展开
#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'
是什么意思
我错在哪? 应该怎么改? 为什么? 展开
3个回答
展开全部
在程序开始时你已经定义过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;
}
百度百科里有关于完数的介绍,你可以去看下,要学会自己在网上找资料,不要一味的不懂就问。应该尝试自己解决。
#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;
}
百度百科里有关于完数的介绍,你可以去看下,要学会自己在网上找资料,不要一味的不懂就问。应该尝试自己解决。
展开全部
for(int i=1;i<=a;i++)
if(a%i)continue;
sum=sum+i;
if(a!=sum)continue;
cout<<a<<endl;
system("pause");
}
少了一个大括号
if(a%i)continue;
sum=sum+i;
if(a!=sum)continue;
cout<<a<<endl;
system("pause");
}
少了一个大括号
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
bai du 完数,c++,,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询