C语言:输出所有四位水仙花数,并输出四位水仙花数的个数。

C语言:输出所有四位水仙花数,并输出四位水仙花数的个数。水仙花数是指一个 n 位数(n>=3),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3 + 3^3 = 153)。

代码如下:

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


int main()
{
int i, temp, n, sum, count = 0;

for (i = 1000; i <= 9999; i++) {

temp = i;

sum = 0;

while (temp != 0) {
n = temp % 10;
sum += (int)pow((double)n, 4);
temp /= 10;
}

if (sum == i) {
printf("%d ", i);
count++;
}
}

printf("\n四位数水仙数有 %d 个。\n", count);

system("pause");
return 0;
}

运行结果:

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-04-16
首先你需要引入头文件math.h;然后下面是代码:
int n=1000,num=0;        //num代表水仙花数个数
while(n<10000){
    int a,b,c,d;                    //分别存储个位、十位、百位、千位
    a=n%10;    b=n/10%10;    c=n/100%10;    d=n/1000%10;
    if(pow(a,4)+pow(b,4)+pow(c,4)+pow(d,4)==n){
        printf("%d\t",n)
        num++;
    }
    n++;
}

C语言:输出所有四位水仙花数,并输出四位水仙花数的个数。
= 0) {n = temp % 10;sum += (int)pow((double)n, 4);temp \/= 10;}if (sum == i) {printf("%d ", i);count++;}}printf("\\n四位数水仙数有 %d 个。\\n", count);system("pause");return 0;}运行结果:

c语言,求四位水仙花数
4) + pow(c, 4) + pow(d, 4) == i) printf("%d\\n", i); } return 0;}其中pow函数返回的double值可以直接和i做比较,因为本身就没有小数的问题。

C语言题目:输出所有的“水仙花数”,并输出其总个数。所谓“水仙花数”是...
c=i%10; \/\/取个位数字 if(a*a*a+b*b*b+c*c*c==i)\/\/如果是水仙花数 { printf("%d\\t",i);count++;\/\/如果是水仙花数 计数器就加1 } } printf("\\n水仙花数的个数为\\t%d",count);printf("\\n");} 运行结果如下

C语言 水仙花数
1、三位的水仙花数共有4个:153,370,371,407; 2、四位的四叶玫瑰数共有3个:1634,8208,9474; 3、五位的五角星数共有3个:54748,92727,93084; 4、六位的六合数只有1个:548834; 5、七位的北斗七星数共有4个:1741725,4210818,9800817,9926315; 6、八位的八仙数共有3个:24678050,24678051,88593477 参考资料来...

在C语言中输出所有水仙花,并统计水仙花个数,使用while语句?_百度知 ...
include <stdio.h> int main(){ int i,cnt;for(i=100,cnt=0;i<1000;++i){ if(i==(i%10)*(i%10)*(i%10)+(i\/10%10)*(i\/10%10)*(i\/10%10)+(i\/100)*(i\/100)*(i\/100)){ printf("%d\\n",i);cnt++;} } printf("%d\\n",cnt);return 0;} ...

编写一段C语言程序,程序功能是: 输出所有的“水仙花数”。
include <stdio.h> int main(){ int i,j,k;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==100*i+10*j+k)printf("%d%d%d\\n",i,j,k);return 0;}

输出 所有的“水仙花数” 用c语言程序 怎么做
如图所示:代码如下:include <stdio.h>int main(){ int i,a,b,c,A,B,C;printf("有下列水仙花数:\\n");for(i=100;i<=999;i++) {a=i\/100; c=(i\/10)%10; b=i%10; A=a*a*a;B=b*b*b;C=c*c*c;if(A+B+C==i)printf("%d\\t=%d^3+%d^3+%d^3\\t=%d +%d +...

C语言:用穷举法求4位数水仙花数,一行一个打印在屏幕上。咋编程?
代码文本:include "stdio.h"int main(int argc,char *argv[]){ int n,t;for(n=1000;n<10000;n++)if(n==(t=n\/1000)*t*t*t+(t=n\/100%10)*t*t*t+(t=n\/10%10)*t*t*t+(t=n%10)*t*t*t)printf("%d\\n",n);return 0;} ...

c语言水仙花数的编程
c语言水仙花数的编程:水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。例如:1^3 + 5^3+ 3^3 = 153。具体的代码如下图。水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong ...

求水仙花数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 =...

相似回答