为什么这样写不行,哪里错了

来源:4-9 循环结构之for循环(二)

lypyp

2016-02-24 12:36

#include <stdio.h>

int main()

{

    //定义三位数num,个位数sd,十位数td,百位数hd

    int num, sd, td, hd;

    num = sd + td * 10 + hd * 100

    //循环所有三位数

    for(sd = 1,;sd < 10;sd++)

    {

        for(td=1;td<10;td++)

{

for(hd=1;hd<10;hd++)

{

if(num==(hd*hd*hd + td*td*td + sd*sd*sd)) 

                {

                    printf("水仙花数字:%d\n", num);    

                }

}

}

}

    return 0;

}


写回答 关注

3回答

  • 低调不是懦弱
    2016-04-14 14:22:45

    6666  只不过算起来感觉很麻烦的样纸


  • lypyp
    2016-02-24 16:22:40

    #include <stdio.h>

    int main()

    {

        int num, sd, td, hd;

        for(hd = 0;hd < 10;hd++)

        {

            for(td=0;td<10;td++)

    {

    for(sd=0;sd<10;sd++)

    {

    if((sd + td * 10 + hd * 100)==(hd*hd*hd + td*td*td + sd*sd*sd)) 

                    {

                        num = sd + td * 10 + hd * 100;

                        if(num>=100)

    {

    printf("水仙花数字:%d\n", num);

    }

    }    

                }

    }

    }

        return 0;

    }

    这次可以了

  • lypyp
    2016-02-24 15:06:40

    #include <stdio.h>

    int main()

    {

        //定义三位数num,个位数sd,十位数td,百位数hd

        int num, sd, td, hd;

        num = sd + td * 10 + hd * 100;

        //循环所有三位数

        for(sd = 1;sd < 10;sd++)

        {

            for(td=1;td<10;td++)

    {

    for(hd=1;hd<10;hd++)

    {

    if(num==(hd*hd*hd + td*td*td + sd*sd*sd)) 

                    {

                        printf("水仙花数字:%d\n", num);    

                    }

    }

    }

    }

        return 0;

    }

     改好后,结果是:

    三个10   ,还是不对


C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926021 学习 · 20793 问题

查看课程

相似问题