C语言水仙花数改成函数,水仙花数c语言程序用自定义函数

c语言 编写一个判断是否为水仙花数的函数,并通过调用该函数打印输出所有水仙花数。

#includelt;stdio.hgt;

创新互联公司主要从事网页设计、PC网站建设(电脑版网站建设)、wap网站建设(手机版网站建设)、自适应网站建设、程序开发、网站优化、微网站、微信平台小程序开发等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了丰富的网站建设、做网站、网站设计、网络营销经验,集策划、开发、设计、营销、管理等多方位专业化运作于一体。

#includelt;math.hgt;

int narcissistic(int number);

void PrintN(int m,int n);

int main()

{

int m,n;

scanf("%d%d",m,n);

if(narcissistic(m))printf("%d is a narcissistic number\n",m);

PrintN(m,n);

if(narcissistic(n))printf("%d is a narcissistic number\n",n);

return 0;

}

int narcissistic(int number){

int i,n=0,sum=0,cnt=0;

n=number;

while(n){

cnt++;

n/=10;

}

n=number;

while(n){

i=n%10;

sum+=(int)pow(i,cnt);

n/=10;

}

if(sum==number)

return 1;

else

return 0;

}

void PrintN(int m,int n){

int i;

for(i=m+1;ilt;n;i++)

if(narcissistic(i))

printf("%d\n",i);

}

扩展资料:

printf函数使用注意事项

1、域宽

%d:按整型数据的实际长度输出。

如果想输出指定宽度可以指定域宽,%md--gt,m域宽,打印出来以后,在控制台上,显示m位;

如果要打印的数的位数如果超过我们设定m则原样输出;

如果要打印的数的位数如果小于设定的位数,则补空白,具体如下:

如果m为正数,则左对齐(左侧补空白);

如果m为负数,则右对齐(右侧补空白)。

2、转义字符

如果想输出字符"%",则应该在“格式控制”字符串中用连续两个%表示。

如:printf("%f%%",1.0/3);输出结果:0.333333%。

参考资料:

百度百科——水仙花数

C程序水仙花数用函数写

你需要对返回的数加一个判断,你的函数中,如果相等你有返回值,如果不相等你没有返回值,但是你的主函数中还是对这个没有返回的值进行了输出

#include stdio.h

int main()

{

int f(int m);

int n;

printf ("result is: ");

for (n = 100; n  1000; n++)

{

if (f(n)0)/////////////////////////

  printf ("%d ", f(n) );

}

printf ("\n");

return 0;

}

int f(int m)

{

int a,b,c;

a=m/100;

b=(m-a*100)/10;

c=m%10;

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

return (m);

else return -1;////////////////////////

}

编写函数判断一个数字是否是水仙花数。若是水仙花数,函数返回1,否则返回0

按照你的要求,把图中的求水仙花数的程序改为函数调用的形式的C语言程序如下

#includestdio.h

int isNarcissus(int a){

int b,c,d;

b=a/100;

c=(a/10)%10;

d=a%10;

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

return 1;

}else{

return 0;

}

}

int main(){

int a;

for(a=100;a1000;a++){

if(isNarcissus(a)==1){

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

}

}

return 0;

}

运行结果

153

370

371

407

C语言用自定义函数,定义函数判断一个整数是否为水仙花数,并利用这个函数输出所有的水仙花数。

水仙花数即三位的自幂数。所谓自幂数,就是指一个 n 位数 ( n≥3 ),其每位上的数字的 n 次幂之和等于本身。

所以水仙花数,首先是三位数,形式为abc,同时a,b,c的立方和值与原本数相同。

类似的还有

四位自幂数:四叶玫瑰数

五位自幂数:五角星数

六位自幂数:六合数

等等。

对于水仙花数的判断,需要按照以下步骤:

1 提取该数的个位,十位,百位值。

2 计算三个数的立方和。

3 与原值比较,如相等则是。

要输出所有水仙花数,需要:

1 对所有三位数,即100到999遍历;

2 对每个数判断是否为水仙花数,如是则退出。

当循环结束,所有的水仙花数就输出成功了。

代码如下:

int isNarcissistic(int n)

{

int a = n/100;

int b = n/10%10;

int c = n%10;

return a*a*a + b*b*b + c*c*c == n;

}

int main()

{

int i;

for(i = 100; i 1000; i ++)

if(isNarcissistic(i)) printf("%d ",i);

}

输出结果如下:

153 370 371 407


当前文章:C语言水仙花数改成函数,水仙花数c语言程序用自定义函数
分享链接:http://azwzsj.com/article/dsedsji.html