编写函数,判断一个三位数是否为水仙花数(编写函数判断一个三位数

http://www.itjxue.com  2023-03-17 15:32  来源:未知  点击次数: 

用调用函数判断一个三位数是不是水仙花数,优者采纳,谢谢。

水仙花数是指一个 n 位数 ( n≥3 ),它的每个位上的数字的 n 次幂之和等于它本身。(例如:1^3 + 5^3+ 3^3 = 153)。以下是MATLAB程序,调用时在命令窗口输入sxh(153)得到ans=1,表示153是水仙花数:

function y=sxh(n)

% 保存成sxh.m文件,并将该文件置于搜索路径上

% 函数输出 y=1 表示是水仙花数,输出 0 则不是

hundreds=floor(n/100); %分解出百位

tens=floor(mod(n/10,10)); %分解出十位

ones=floor(mod(n,10)); %分解出个位

y = (n==hundreds^3+tens^3+ones^3);

end

C语言:写函数判断一个三位数是不是水仙花数,是输出YES,不是输出NO

#include?stdio.h

void?main()

{

int?a,b,c,n;

printf("请输入一个三位数:?");

scanf("%d",n);

a=n%10;

b=(n%100-n%10)/10;

c=(n-n%100)/100;

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

printf("%d是水仙花数。",n);

else?printf("%d不是水仙花数。",n);

}

运行示例:

编写一个函数用于判断一个三位数是否为“水仙花数”,用主函数调用其实现所有三位

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

#include?iostream

using?namespace?std;

void?flower(int?a)

{

int?a,b,c,d;

if(a=100a=999)

{

b=a/100;

c=(a-100*b)/10,d=a%10;

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

couta“是水仙花数”endl;

else

couta"不是水仙花数。"endl;

}else{

cout"输入错误。";

}

}

int?main()

{

int?i;

cout"输入数字是:";

cini;

flower(i);

}

用C语言写出判断一个三位数是否为水仙花数的程序

#includestdio.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)。

编写函数fun(n),n为三位数,判断n是否为水仙花数。(用C语言程序编写)

#includestdio.h

int fun(int n)

{

int a,b,c;

a = n % 10;

b = n / 10 % 10;

c = n / 100;

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

{

return 1;

}

else

{

return 0;

}

}

int main()

{

int n;

printf("输入一个三位数n:");

scanf("%d",n);

if(fun(n))

{

printf("%d是水仙花数\n",n);

}

else

{

printf("%d不是水仙花数\n",n);

}

return 0;

}

(责任编辑:IT教学网)

更多

推荐其它系统文章