用C语言编一个可以列出所有三位数的水仙花数如153=1^3+5^3+3^3;

可以运行,但是结果错误。请前辈指教

一、 数学定义:

水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。

于是三位水仙花数,就是形式为n=100a+10b+c 且n=a*a*a+b*b*b+c*c*c的数值。 其中a∈[1,9] b,c∈[0,9] a,b,c∈Z

二、 根据定义,循环遍历100到999,通过除法和模除取出三位上的数字,计算立方和并与原始数值比较,如相等,则为水仙花数,输出即可。 

三、 代码:

#include <stdio.h>
int main()
{
    int a,b,c,n;
    for(n = 100; n <1000; n ++)//遍历
    {
        a=n/100;//百位
        b=n/10%10;//十位
        c=n%10;//个位
        if(a*a*a+b*b*b+c*c*c==n)//水仙花数
            printf("%d\n", n);//输出
    }
    return 0;
}

四、 运行结果:

温馨提示:内容为网友见解,仅供参考
第1个回答  2014-10-22
if语句里面的不能用一个等于号
要用两个等于号

注:
一个等号代表赋值
两个等号代表相等本回答被提问者采纳

用C语言编一个可以列出所有三位数的水仙花数如153=1^3+5^3+3^3;
一、 数学定义:水仙花数是指一个 n 位正整数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。于是三位水仙花数,就是形式为n=100a+10b+c 且n=a*a*a+b*b*b+c*c*c的数值。 其中a∈[1,9] b,c∈[0,9] a,b,c∈Z 二、 根据定义,循环遍历100到999,通过除法和模除取...

...用c语言程序怎么做?水仙花数例;153=1^3+5^3+3^3
```第一个程序使用三层嵌套循环来找到所有的水仙花数,它检查所有可能的百位、十位和个位数字的组合。第二个程序则更为高效,它首先将数字分解为百位、十位和个位,然后计算每个位上的数字的立方和,最后比较这个和与原始数字是否相等。如果相等,那么这个数字就是水仙花数。

C语言编程 求水仙花数:例如153=1^3+5^3+3^3
输入图片描述

用C语言编写:输出所有水仙花数.所谓水仙花数是指一个3位数.其各位数字...
include<stdio.h> \/\/一个三位数,其各位数字的立方和等于该数本身。例如:153=1^3+5^3+3^3 void main(){ int n,a,b,c;for(n=100;n<1000;n++){ a=n\/100;b=(n%100)\/10;c=(n%100)%10;if(a*a*a+b*b*b+c*c*c==n)printf("\\t");} printf("\\n");} ...

求水仙花数c语言
所谓的“水仙花数”是指一个三位数,它的各位数字的立方和等于该数本身。例如,153是一个“水仙花数”,因为153 = 1^3 + 5^3 + 3^3。以下是C语言编程代码,用于找出所有的水仙花数:```c include int main() { int i, num, digit, sum;for (i = 100; i < 1000; i++) { num =...

...用c语言程序 怎么做 ?水仙花数 例;153=1^3+5^3+3^3
有两种方法:方法1:include<stdio.h> void main(){ int i,j,k;for(i=1;i<=9;i++){for(j=0;j<=9;j++){for(k=0;k<=9;k++)if((i*i*i+j*j*j+k*k*k)==(i*100+j*10+k))printf("%d\\n",i*100+j*10+k);} } } 方法2:include <stdio.h> main(){ int i,j...

c语言 求水仙花数 例如 153=1^3+5^3+3^3 求哪里出错 m>=1 n<1000_百...
tmp=tmp\/10;b=tmp%10;tmp=tmp\/10;c=tmp%10;if(c) \/\/说明是三位数 { if(a*a*a+b*b*b+c*c*c==i)printf("%d ", i);} else if(b) \/\/说明是二位数 { if(a*a+b*b==i)printf("%d ", i);} else \/\/说明是一位数 printf("%d ", i);} printf("\\n");} ...

水仙花数的c语言编程。
所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 1^3 + 5^3+ 3^3 。下面是完整的C语言编程代码:运行结果:result is:153 370 371 407

用c语言编写一个程序来求出所有的三位Armstrong数
三位Armstrong数即我们常说的水仙花数,(如:153=1^3+5^3+3^3);\/*题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数 本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。1.程序分析:利用for循环控制100-999个数,...

c语言编程题打印出所有的“水仙花数”所谓“水仙花数”是指一个三位数...
1. 题目理解:题目要求寻找所有的三位数,这些数的每个位上的数字的立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。2. 程序设计:我们需要一个循环来遍历100到999之间的所有三位数。对于每个数,我们需要计算其各位上的数字的立方和,并检查这个和是否等于原数。3....

相似回答