C语言怎么用while语句求水仙花数

avatar
作者
猴君
阅读量: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与原始数进行比较,如果相等,则该数是水仙花数,否则不是。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!