首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言生手求问。问什么运行不起来

2013-12-02 
C语言新手求问。问什么运行不起来?//2013年11月26日12:55:55 找出1000内所有完数(如6的因子为1,2,3,61+2+3

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;
}
就是这个程序 语法没有报错啊 谢谢各位了!C语言生手求问。问什么运行不起来
[解决办法]
# 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;
}

LZ猜猜我为什么要帮你排版?
[解决办法]
#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;
}

排版后很容易发现各种嵌套错误
[解决办法]
这种事情直接加断点调试就好了,以后遇到类似的问题也能解决。

热点排行