求 完數(shù)#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' 是什么意思我錯在哪? 應(yīng)該怎么改? 為什么?
1 回答
一只甜甜圈
TA貢獻1836條經(jīng)驗 獲得超5個贊
在程序開始時你已經(jīng)定義過a了,然后在for循環(huán)里又再一次定義
#include<iostream>
using namespace std;
/*寫的是C風(fēng)格的代碼*/
int main()
{
int sum;
int i,j;
for( i = 2 ; i <= 1000 ; i++ )//1不是完數(shù),不必判斷
{
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;
}
百度百科里有關(guān)于完數(shù)的介紹,你可以去看下,要學(xué)會自己在網(wǎng)上找資料,不要一味的不懂就問。應(yīng)該嘗試自己解決。
- 1 回答
- 0 關(guān)注
- 712 瀏覽
添加回答
舉報
0/150
提交
取消
