C语言新手求问。问什么运行不起来?
//2013年11月26日12:55:55 找出1000内所有完数(如6的因子为1,2,3,6=1+2+3)
# include <stdio.h>
int main ()
{
int i,t,n;//i是数字,t表示除数,n表示所有因子的和
n = 0;
for (i = 2; i <= 1000; i++)
for (t = 1; t < i; t++)
{
if (i%t == 0)
n = n + t;
}
if (n == i)
{
printf("%d its factors are ",i);
for (t = 1; t < i; t++)
{
if (i % t == 0)
printf("%d ",t);
}
}
return 0;
}
就是这个程序 语法没有报错啊 谢谢各位了!
[解决办法]
# include <stdio.h>
int main ()
{
int i,t,j,n;//i是数字,t表示除数,n表示所有因子的和
for (i = 2; i <= 1000; i++)
{
for (t = 1; t < i; t++)
{
if (i%t == 0)
n = n + t;
}
if (n == i)
printf("%d ",i);
n = 0;
}
return 0;
}
[解决办法]
# include <stdio.h>
int main()
{
int i, t, n; //i是数字,t表示除数,n表示所有因子的和
n = 0;
for (i = 2; i <= 1000; i++)
for (t = 1; t < i; t++)
{
if (i % t == 0)
n = n + t;
}
if (n == i)
{
printf("%d its factors are ",i);
for (t = 1; t < i; t++)
{
if (i % t == 0)
printf("%d ",t);
}
}
return 0;
}
#include <stdio.h>
int main ()
{
int i, t, n;//i是数字,t表示除数,n表示所有因子的和
for (i = 2; i <= 1000; i++)
{
n = 0; //每次判断一个数时设置因子之和为0
for (t = 1; t < i; t++)
{
if (i % t == 0)
n += t;
}
//判断是否为完数,是则输出
if (n == i)
{
printf("%d its factors are ",i);
for (t = 1; t < i; t++)
{
if (i % t == 0)
printf("%d ",t);
}
printf("\n");
}
}
return 0;
}