水仙花数c语言调用函数 使用函数水仙花数c语言程序

c语言调用函数求水仙花数

int li(int n)

成都创新互联来电联系:028-86922220,为您提供成都网站建设网页设计及定制高端网站建设服务,成都创新互联网页制作领域10多年,包括餐厅设计等多个领域拥有丰富的网站推广经验,选择成都创新互联,为网站保驾护航。

{ return n*n*n;

}

int shuixian(int n)

{

int b,s,g;

b=n/100;

s=n/10%10;

g=n%10;

if((li(b)+li(s)+li(g))==n)

return 1;

return 0;

}

int main()

{

int i;

scanf("%d",i);

if(shuixian(i))

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

return 0;

}

C语言 水仙花数

C语言输出水仙花数的具体分析和实现流程如下:

1、水仙花数的含义

“水仙花数”是一个三位数其各位数字的立方和等于该数本身。例如:3^3 + 7^3+ 0^3 = 370

2、算法分析

把给出的某个三位数的个位、十位、百位分别拆分,并求其立方和(设为sum),若sum与给出的三位数相等, 则为“水仙花数”。

3、算法设计

“水仙花数”是一个三位数,可以确定该数的取值范围是 100〜999。对应的循环条件如下:

for (n=10; n1000; n++) {}

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

将(n-i*100)整除以10, 得出n在十位上的数字t。

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

求得h,t,a 三个数字的立方和是否与n相等,如果相等则证明该数为水仙花数。

4、代码实现

#include stdio.h

int main() {

int h, t, a, n;

printf("result is:");

for ( n=100; n1000; n++ )  { /*整数的取值范围*/

h = n / 100;

t = (n-h*100) / 10;

a = n % 10;

if (n == h*h*h + t*t*t + a*a*a)  /*各位上的立方和是否与原数n相等*/

printf("%d  ", n);}

printf("\n");

return 0;}

扩展资料:

常见水仙花数

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

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语言用自定义函数,定义函数判断一个整数是否为水仙花数,并利用这个函数输出所有的水仙花数。

水仙花数即三位的自幂数。所谓自幂数,就是指一个 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语言 调用函数求水仙花数,我这个那里错了,输出不了?

问题在下面这个语句中:

if(sum==number1)

由于number1在循环中已经被更改了,最后的值为原数的百位数,所以不可能再和sum相等。

这里应该为:if(sum==number)

网页名称:水仙花数c语言调用函数 使用函数水仙花数c语言程序
文章来源:https://www.cdcxhl.com/article26/ddehojg.html

成都网站建设公司_创新互联,为您提供网站维护搜索引擎优化网站改版虚拟主机用户体验网站设计

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

h5响应式网站建设