之前的程序都对
最后的水仙花数条件句 if(num ==hd*hd*hd+td*td*td+sd*sd*sd) 若把“==”换成“=”运行结果为什么是
水仙花数字:1
水仙花数字:8
水仙花数字:729
水仙花数字:370
水仙花数字:371
水仙花数字:378
水仙花数字:1099
for循环不是已经限制了num范围了吗?为什么还会有其它数
如果你把==换成=号的话,那么在循环到378时,这时的num=378下一次循环为379,379分别拆开3次方之后相加就是1099也就是本次循环之后就跳出循环了
看不明白计算机怎么算的
根据你这样提醒我好像明白了,第一次程序从num=100开始时if句计算后的值 1 被赋值给num了,结果num又从1开始递加循环而不是100,之后每次计算出3位数的3次方和都被赋值给num,没有实现 num++ 所以会出现这样结果