C++完数问题!大虾帮忙啊

来源:百度知道 编辑:UC知道 时间:2024/06/03 21:58:17
#include <iostream>
using namespace std;
int main()
{
int x,i;
int sum=0;
cout<<"please enter a number.";
cin>>x;
for(i=1;i<=x,i++)
{if(x%i==0)
{sum=sum+i;}}cout<<"因子"<<" "<<i<<",";
{if(x==sum) cout<<'\r'<<x<<endl;}

return 0;
}

帮忙看出了什么错?系统无法执行

.cpp
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/2.exe : fatal error LNK1120: 1 unresolved externals
执行 link.exe 时出错.

2.exe - 1 error(s), 0 warning(s)

·

for(i=1;i<=x,i++)
{if(x%i==0)
{sum=sum+i;}}cout<<"因子"<<" "<<i<<",";
{if(x==sum) cout<<'\r'<<x<<endl;}

括号范围有问题吧,
for(i=1;i<=x,i++)
{if(x%i==0) {sum=sum+i;cout<<"因子"<<" "<<i<<","; }
if(x==sum) cout<<'\r'<<x<<endl;}
改成这样试试

第一个错误LIBCD.lib(crt0.obj) :这样改
:在project-setting-link里找到project options 将里面的/subsystem:console 改为/subsystem:windows 或者去掉/subsystem:console

for(i=1;i<=x,i++)
这个for循环里面你那个分号你写成逗号了,应该这样for(i=1;i<=x;i++)
但是你这个判断完数的条件有错啦!i<=x 而是i<x,因为完数的意思是除本身以外的全部因子相加=这个数的本身!

for(i=1;i<=x,i++)

你把一个冒号写成了逗号