for循环

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

花开半夏123

2016-11-09 23:47

#include <stdio.h>

int main()

{

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

    int num, sd, td, hd;

    //循环所有三位数

    for(num=100;num<1000;num++)

    {

        //获取三位数字num百位上的数字

        hd =num/100;

        //获取三位数字num十位上的数字

        td =(num%100)/10;

        //获取三位数字num个位上的数字

        sd =num%10;

        //水仙花数的条件是什么?

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

        {

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

        }

    }

    return 0;    

}

问题:

  1. 为什么表达式二的num<1000不能写成num<=999

  2. 为什么if中的语句我写成num==sd*sd*sd+td*td*td+hd*hd*hd就提交不了

写回答 关注

4回答

  • zhonggang4234975
    2016-11-10 10:49:26
    已采纳

    我复制了上面的代码,运行的结果为:

    水仙花数字:153
    水仙花数字:370
    水仙花数字:371
    水仙花数字:407

    慕粉4988...

    这种情况应该是这个系统本身的问题,它答案没有包括所有的正确答案,虽然你的代码没问题它也不会判断你对,这种情况我也遇到过,不管它,多试下代码的不同表达就好,还有要对自己的代码要有信心。

    2016-11-10 19:00:18

    共 4 条回复 >

  • 聊发少年狂
    2016-11-10 16:17:53

    你应该是用的慕课网自带的编辑器吧,他们内部有关键代码验证功能,虽然你改了代码和原文运行结果一样,但是网站检测不到关键代码就会报错,和代码无关,你可以自己下一个软件http://img.mukewang.com/58242d2100015d7f04080214.jpg跑一下就知道了。

  • zhonggang4234975
    2016-11-10 10:53:55

    右边的输出窗口中会给出出错信息,你可以看一下提示哪里出错了。

  • zhonggang4234975
    2016-11-10 08:10:30

    请检查:分号是否错用了全角形式;<=和==中间是否多了空格(< =,= =).

    花开半夏12...

    检查了,分号没有问题,也没有多出空格,但还是提交不了,怎么办?

    2016-11-10 09:53:44

    共 1 条回复 >

C语言入门

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

926020 学习 · 20793 问题

查看课程

相似问题

for循环

回答 2

for循环

回答 2

for循环

回答 1

for循环

回答 2

for循环

回答 1