×

c语言水仙花数程序

c语言水仙花数程序(用C语言写一个输出水仙花数的程序)

admin admin 发表于2023-09-28 00:15:06 浏览35 评论0

抢沙发发表评论

本文目录

用C语言写一个输出水仙花数的程序

水仙花数是指一个n位数(n≥3),它的每个位上的数字的n次幂之和等于它本身。(例如:1^3+5^3+3^3=153)题目要求是什么呢?输入一个数,判断其是不是水仙花数?#include#include#includeintmain(){charstr,num;inti,q,val=0,arr;printf(“输入一个数:“);scanf(“%s“,str);if(strlen(str)《3){printf(“输入错误\n“);return;}for(i=0;iatoi(str)){printf(“%s不是水仙花数\n“,str);break;}}return0;}

C语言 水仙花数程序

#include 《stdio.h》main(){ int n,i,j,k; for(n=100;n《1000;n++) { i=n%10;j=n/10%10;k=n/10%10;if(n=i*i*i+j*j*j+k*k*k){ printf(“%d\t“,n); } printf(“\n“); } return 0;}这样就可以了,简单了,也明了了!

c语言水仙花数

#include 《stdio.h》

int main()

{

int start, end, i = 0, a, b, c, size = 0;

while (scanf(“%d %d“, &start, &end) == 2)

{

for (i = start; i 《= end; i++)

{

a = i / 100;

b = i / 10 % 10;

c = i % 10;

//total = pow(c, 3) + pow(a, 3) + pow(b, 3);

if ((a*a*a + b*b*b + c*c*c) == i)  //满足水仙花条件

{

if (size == 0)   //size=0输出第一个水仙花数 

{

printf(“%d“, i);

}

else     //size++输出第二。。第n个水仙花数

{

printf(“ %d“, i);

}

size++;   //个数++;

}

}

if (size == 0)   //范围内个数为0,则说明没有满足条件的

{

printf(“no“);

}

printf(“\n“);

}

return 0;

}

扩展资料:

需要注意的地方:

1.将n整除以100,得出n在百位上的数字hun。

2.将(n-i*100)整除以10(或将n先整除以10再对10求模n/10%10),得出n在十位上的数字ten。

3.将n对10取余,得出n在个位上的数字ind。

4.求得这三个数字的立方和是否与其本身相等,若相等,则该数为水仙花数。

参考资料:

百度百科-水仙花数

c语言怎么编写水仙花数

方法:先弄懂什么是水仙花数:: 水仙花数是指一个n(》=3)位数字的数,它等于每个数字的n次幂之和。 3位水仙花数————先定义3个数其中一个为1--9;2个为0--9;(用for循环) 再用如果a定义为1--9那么用100*a来表示百位;如果b或者c定义是0--9那么用10*b或者10*c来表示十位;那么下面用c或者b来表示个位; if(100*a+10*b+c==a*a*a+b*b+c) 如果满足这个条件那么:输出的printf(“%d%d%d“,a,b,c)就是3位数的水仙花数: 4位水仙花数方法同上: 刚写的:调试过了 #include 《stdio.h》 int main(void) { int a,b,c,d; system(“cls“); for(a=1;a《=9;a++) for(b=0;b《=9;b++) for(c=0;c《=9;c++) if(100*a+10*b+c==a*a*a+b*b*b+c*c*c) printf(“%d%d%d\n“,a,b,c); for(a=1;a《=9;a++) for(b=0;b《=9;b++) for(c=0;c《=9;c++) for(d=0;d《=9;d++) if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d) printf(“%d%d%d%d\n“,a,b,c,d); getch(); } 或者这样: #include 《stdio.h》int main(void){int a,b,c,d;system(“cls“);for(a=1;a《=9;a++)for(b=0;b《=9;b++)for(c=0;c《=9;c++){if(100*a+10*b+c==a*a*a+b*b*b+c*c*c)printf(“%d%d%d\n“,a,b,c);for(d=0;d《=9;d++)if(1000*a+100*b+10*c+d==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)printf(“%d%d%d%d\n“,a,b,c,d);}getch();}

用C语言求出100到1000之间的水仙花数

#include“stdio。h“

intmain()

{

intx,y,z;

printf(“100到1000之间的水仙花数有:\n“);

for(inta=100;a《=1000;a++)

x=a/100;//x为百位上的数

y=(a-x*100)/10;//y为十位上的数

z=a-x*100-y*10;//z为个位上的数

if(a==x*x*x+y*y*y+z*z*z)

{

printf(“%d\n“,a);

getchar();

getchar();

return0;

}

水仙花数又称阿姆斯特朗数。

三位的水仙花数共有4个:153,370,371,407;

四位的四叶玫瑰数共有3个:1634,8208,9474;

五位的五角星数共有3个:54748,92727,93084;

六位的六合数只有1个:548834;

七位的北斗七星数共有4个:1741725,4210818,9800817,9926315;

八位的八仙数共有3个:24678050,24678051,88593477

以上内容参考:百度百科-水仙花数

如何用C语言中的while语句编写水仙花数程序

你没有说范围,我下面求的是100~1000之间的水仙花数#include《stdio.h》voidmain(){inta,b,c,i;i=100;while(i《=100){i++;a=i/100;b=(i-a*100)/10;c=i%10;if(i==a*a*a+b*b*b+c*c*c)printf(“%d“,i);}}

水仙花数C语言程序

提示错误可以调试为:

#include 《stdio.h》

int main()

{

int a, b, c, d;

for (a = 100; a 《 1000; a++)

{

b = a / 100;

c = a % 100 / 10;

d = a % 100 % 10;

if (b*b*b + c*c*c + d*d*d == a)

printf(“水仙花数为%d\n“, a);

}

}

如图为运行结果

原先的错误在于#include后没有加《stdio.h》,而且for循环语句也有错误。

水仙花数的c语言编程

所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 1^3 + 5^3+ 3^3 。

下面是完整的C语言编程代码:

运行结果:result is:153  370  371  407

扩展资料

常见水仙花数

水仙花数又称阿姆斯特朗数。

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语言写出判断一个三位数是否为水仙花数的程序

#include《stdio.h》

void main()

{ int i,j,k,m;

printf(“input data:“);    

scanf(“%d“,&m);   /*输入一个3位数*/                                    

i=m/100;

j=(m-100*i)/10;

k=m-100*i-10*j;

if(m==i*i*i+j*j*j+k*k*k) printf(“%d\n“,m);  /*是水仙花数时输出*/ }

(一)C语言:

C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言订定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。

(二)水仙花数(Narcissistic number):

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

C语言关于水仙花数的程序

怎么定义a=i/100,b=(i%100)/10,这些不应该在int定义里,i本身还没赋值,应该在for循环里给出a,b,c的值,如果不建议看看我的把#include《stdio.h》voidmain(){inti,j,k,a;for(i=0;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){a=i*100+j*10+k;if(a》99)printf(“%d\n“,a);}}希望采纳,谢谢!