以下是C语言求水仙花数的代码:

#include <stdio.h>
#include <math.h>

int main()
{
    int num, originalNum, remainder, n = 0;
    float result = 0.0;

    printf("Enter an integer: ");
    scanf("%d", &num);

    originalNum = num;

    // 计算数字位数
    while (originalNum != 0) {
        originalNum /= 10;
        ++n;
    }

    originalNum = num;

    // 计算每个数字的立方和
    while (originalNum != 0) {
        remainder = originalNum % 10;
        result += pow(remainder, n);
        originalNum /= 10;
    }

    // 判断是否为水仙花数
    if ((int)result == num)
        printf("%d is an Armstrong number.", num);
    else
        printf("%d is not an Armstrong number.", num);

    return 0;
}

以上代码中使用了两个 while 循环,第一个循环用于计算数字位数,第二个循环用于计算每个数字的立方和。最后判断是否为水仙花数并输出结果。

帮我写个C语言水仙花数的代码

原文地址: https://www.cveoy.top/t/topic/Oap 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录