玫瑰花数是指四位数abcd中a,b,c,d的四次方和等于原数abcd。
上面是该程序的要求。
我们发现这道题的难点在于如何把每一位上的数字提取出来,进行运算。
abcd一定是int整数型数据
千位的数字:i/1000的整数部分就是a
百位的数字:i/100的整数部分是a*10+b,而我们需要的是b。所以需要我们对a*10+b进行取余, b= (i/100)%10
十位和个位的数字同理。
写出的程序如下:
看上去不太对?
问题出现再if语句中i的赋值问题,经过for循环我们已经将a,b,c,d提取出来准备运算,所以这个时候a,b,c,d是具有具体数值的,所以应该是双等号,"i=="
四叶玫瑰花树就完成了。