问答详情
源自:4-9 循环结构之for循环(二)

为什么我的水仙花数字这么多。。。

http://img2.mukewang.com/5a911e840001f0cc16801050.jpg请大神指教

提问者:慕数据4138050 2018-02-24 16:13

个回答

  • 蛋包饭_0
    2018-02-25 09:10:48
    已采纳

    http://img2.mukewang.com/5a920ce60001cafd06980782.jpg

    #include <stdio.h>
    
    int main()
    {
    	int num, sd, td, hd;
    	for ( num = 100; num < 1000; num++)
    	{
    		hd = num / 100;
    
    		td = (num / 10) % 10;
    
    		sd = num % 10;
    
    		if (hd * hd *hd+td*td*td+sd*sd*sd == num)
    		{
    			printf("水鲜花数字: %d\n", num);
    		}
    	}
    	return 0;
    }

    //这是我在本地编译出来的结果;

  • 饼神
    2018-03-17 17:10:34

    在if后面多了个 ; 判断后不论结果,都直接结束判断的代码,然后不断执行输出

  • 蛋包饭_0
    2018-02-26 15:13:07

    //我反复看了一下
    if (hd * hd *hd+td*td*td+sd*sd*sd == num);
    //你原答案多了一个" ;"
    //导致if语句的判断提前结束
    //这回你把;去掉,原答案就能通过了


  • 蛋包饭_0
    2018-02-24 18:31:17

    NO.12       td = (num / 10) % 10;   
                //原表达式有误