C语言怎样编输出所有水仙花数范围100到999

如题所述

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。判断一个数是否为水仙花数需要拆分数位,求幂再相加。不过这道题限定了范围,都是三位数,所以可以使用3重循环分别代表3个数位,这样就省去了拆分的麻烦。
代码如下:

#include <stdio.h>

int main()
{
int i, j, k, sum;

sum = 0;

for (i = 1; i < 10; i++)
for (j = 0; j < 10; j++)
for (k = 0; k < 10; k++)
if ((i*i*i + j*j*j + k*k*k) == (i*100 + j*10 + k))
printf("%d\n", i*100 + j*10 + k);

return 0;
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2016-05-10

输出 100~999 之间的水仙花数代码:

#include<stdio.h>

int main()
{
    int i,a,b,c;
    printf("100 到 999 的水仙花数:\n");
    for (i =100; i<=999; i++) {
        a = i/100;
        b = i/10%10;
        c = i%10;
        if (i == a*a*a + b*b*b + c*c*c)
            printf("%d ", i);
    }
}

C语言:输出100-999中所有水仙花数。
1. 输出100-999中所有水仙花数。```c void OutputNarcissusNumbers() { for (int i = 100; i < 1000; i++) { int sum = 0;int temp = i;int rem;for (int j = 0; j < 3; j++) { rem = temp % 10;temp \/= 10;sum += rem * rem * rem;} if (sum == i) { pr...

用c语言编写程序实现打印出100-999的所有水仙花数
1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。\/ public static void main(String[] args) { for (int i = 100; i <= 999; i++) { int geWei, shiWei, baiWei;baiWei = i \/ 100;shiWei = (i - baiWei * 100) \/ 10;geWei = i - baiWei * 100 - s...

C语言:输出100-999中所有水仙花数。
\/\/输出水仙花 voidNarcissusNumber(){for(inti=100;i<1000;i++){ intsum=0;inttemp=i;intrem;for(intj=0;j<3;j++){rem=temp%10;temp\/=10;sum+=rem*rem*rem;}if(sum==i){ printf("%d\\n",i);} } }

c语言中,如何输出所有的水仙花数
return a * a * a + b * b * b + c * c * c == n;} int main() { int i;\/\/ 遍历100到999的所有三位数 for (i = 100; i < 1000; i++) { if (isNarcissistic(i)) { printf("%d ", i); \/\/ 如果是一个水仙花数,输出它 } } return 0;} ```运行这段代码会输...

输出所有的“水仙花数”用c语言程序怎么做
1. 首先,我们包含标准输入输出头文件 ``。2. `main` 函数是程序的入口点,我们在此声明所需的变量 `i`, `a`, `b`, `c`, `A`, `B`, `C`。3. 使用 `printf` 函数输出提示信息,并准备进入循环。4. `for` 循环设置条件为 `i` 从 100 到 999,这意味着我们只考虑三位数以内的...

用c语言编写程序,打印一百到一千之间的所有水仙花数
1. 程序分析:我们需要使用for循环来遍历100到999之间的所有三位数。对于每个数,我们将计算其百位、十位和个位数字,并检查这些数字的立方和是否等于原数。2. 程序源代码:```c include int main() { int i, j, k, n;printf("水仙花数为:");for (n = 100; n < 1000; n++) { i =...

用C语言怎么编程算100到999的水仙花数?
include<stdio.h> void main(){ int i,j,k,n;for(i=1;i<10;i++)for(j=0;j<10;j++)for(k=0;k<10;k++){ n=i*100+j*10+k;if((i*100+j*10+k)==((i*i*i)+(j*j*j)+(k*k*k)))printf("水仙花数为:%d\\n",n);} } ...

如何实现用C语言输出所有的“水仙花数”?
C语言输出所有“水仙花数”的实现步骤如下:1. 问题定义:目标是寻找所有三位数,其每个位上数字的立方和等于该数本身。例如,153是一个“水仙花数”,因为153 = 1^3 + 5^3 + 3^3。2. 分析问题:要验证一个三位数是否为“水仙花数”,需要将该数拆分为百位、十位和个位上的数字,计算这三个...

c语言 编程求三位数的水仙花数?
int a,b,c; \/\/定义百、十、个位变量 for(i=100;i<=999;i++) \/\/循环从100到999 { a=i\/100; \/\/取百位 b=i%10\/10; \/\/取十位 c=i%10; \/\/取个位 if(i==a*a*a+b*b*b+c*c*c) \/\/判断是否为水仙花数 { printf("%d\\n",i); \/\/输出水仙花数 } } return 0;} ...

水仙花数怎么用C语言写出来?
C语言写水仙花数要将给出的三位数的个位、十位、百位分别拆分,并求其立方和(设为s),若s与给出的三位数相等, 三位数为“水仙花数”,反之,则不是水仙花数。include <stdio.h> int main(){ int hun, ten, ind, n;printf("result is:");for( n=100; n<1000; n++ ) \/*整数的...

相似回答