for(num=100; num<=999; num++) { //获取三位数字num百位上的数字 hd = num/100; //获取三位数字num十位上的数字 td = (num-hd*100)/10; //获取三位数字num个位上的数字 sd = num-hd*100-td*10; //水仙花数的条件是什么? if(num==hd*hd*hd+td*td*td+sd*sd*sd)
没毛病, 只不过可以用取余的方法来算, td = num % 100 / 10; sd = num % 10; 就是答案那种