水仙花数c语言调用函数 使用函数水仙花数c语言程序-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

水仙花数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语言程序
本文链接:http://kswsj.cn/article/ddehojg.html

其他资讯