哪里错了????

R-apunzel 2014-09-21 01:28:54
#include<iostream>
using namespace std;
int main()
{
int n;
int c=1;
int i;
for(n=3;n<=1000;n++)
{
for(i=2;i<n;i++)
{
if(n%i==0)
c+=n/i;
}
if(c==n)
cout<<n<<endl;
else cout<<0;}
return 0;
}



为什么我输不出 6 ,28 ,496这几个数
...全文
91 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
R-apunzel 2014-09-29
  • 打赏
  • 举报
回复
3楼你闲着没事别扯淡。 归根结底不是别人不是别人帮自己看或讲解或注释出来的; 你没看书就知道C? 书不是别人总结的?书上没注释? 我自己看不出来我找被人帮个忙怎么的? 你这一辈子知道多少道理过好这一生了? 修炼成仙了? 在这说三道四庸人自扰你以为你是得道高僧? 你拐个假弯都这么费劲是不是文笔有限? 我就问个入门的你提示里给我装X 你牛逼别跟我牛逼找大神牛逼去。
赵4老师 2014-09-22
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
  • 打赏
  • 举报
回复
清这样写
#include<iostream>
using namespace std;
int main()
{
	int n;
	int c=1;
	int i;
	for(n=3;n<=1000;n++)
	{
		c = 1;//here
		for(i=2;i<n;i++)
		{
			if(n%i==0)
				c+=n/i;
		}
		if(c==n)
			cout<<n<<endl;
		else cout<<0;
	}
	int m;
	cin >> m;
	return 0;
}
饭凉凉 2014-09-21
  • 打赏
  • 举报
回复
楼上正解。
XT_vendetta 2014-09-21
  • 打赏
  • 举报
回复
循环中改变了c的值,每次需要把c重置为1。 #include<iostream> using namespace std; int main() { int n; int c = 1; int i; for (n = 3; n <= 1000; n++) { for (i = 2; i<n; i++) { if (n%i == 0) c += n / i; } if (c == n) { cout << n << endl; c = 1; } else c=1; } system("pause"); return 0; }

64,663

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧