c语言

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

小亿
506
2023-12-05 15:30:12
栏目: 编程语言

水仙花数是指一个三位数,其各个位上数字立方和等于该数本身。例如,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与原始数进行比较,如果相等,则该数是水仙花数,否则不是。

0
看了该问题的人还看了