阅读量:1
水仙花数是指一个三位数,其各个位上数字立方和等于该数本身。例如,153就是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。
以下是使用while语句来求解水仙花数的示例代码:
#include <stdio.h> int main() { int num, originalNum, remainder, result = 0; printf("请输入一个三位数: "); scanf("%d", &num); originalNum = num; while (originalNum != 0) { remainder = originalNum % 10; result += remainder * remainder * remainder; originalNum /= 10; } if (result == num) printf("%d 是水仙花数。\n", num); else printf("%d 不是水仙花数。\n", num); return 0; }
该代码首先要求用户输入一个三位数,然后使用原始数的副本进行操作。在while循环中,我们通过对原始数进行取余操作,得到每个位上的数字,并将其立方求和,存储在result变量中。然后,我们将原始数除以10,以便在下一次循环中处理下一个数字。最后,我们将计算出的result与原始数进行比较,如果相等,则该数是水仙花数,否则不是。