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

c语言编程调用函数求水仙花数水仙花数是指一个 n 位数 ( n≥3 )调用函数水仙花c语言,每个位上的数字的 n 次幂之和等于它本身 。(例如:1^3 + 5^3+ 3^3 = 153) 。
所以可以依次通过模除求得每个位上的值调用函数水仙花c语言,然后做n次幂后相加,再判断是否与本身相等,从而得到是否为水仙花数的结论 。
以求所有三位数水仙花数为例,代码如下 , 其它相似 。
#includestdio.h
#includestdlib.h
#includestdbool.h
int cube(const int n){//计算立方 。如果是四位则是四次方,以此类推 。
return n*n*n;
}
int isNarcissistic(const int n){//计算是否为水仙花数 。
int hundreds=n/100;//百位
int tens=n/10-hundreds*10;//十位
int ones=n%10;//个位
return cube(hundreds)+cube(tens)+cube(ones)==n;//如果相等,则为水仙花数 。
}
int main(void){
int i;
for(i=100;i1000;++i){//对所有三位数判断 。
if(isNarcissistic(i))//如果是则输出 。
printf("%d\n",i);
}
return 0;
}
c语言调用函数求水仙花数int li(int n)
{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语言用调用函数求三位数的水仙花数 , 尽量简单易懂 , 最好有解释,我主要是想要理解怎么使用调用函数本程序已在Visual Studio 2008调试通过
#include "stdio.h"
int fun(int a[])//子函数中查找100~999之间调用函数水仙花c语言的水仙花数
{int m,x,y,z,i=0;
for(m=100;m999;m++)
{x=m%10;//分解出个位数
y=(m-x)/10%10;//分解出十位数
z=m/100;//分解出百位数
if(x*x*x+y*y*y+z*z*z==m)//判断每位数的立方的和是否与原数相等
{a[i]=m;i++;}}//若相等则存入数组
return(i);//返回数组中水仙花数的个数以方便在主函数中输出
}
void main()
{int fun(int a[]);//子函数先定义后使用
int a[20],i,k;
k=fun(a);//调用子函数调用函数水仙花c语言 , 注意本题中传递的是整个数组,所以子函数和主函数共用一个数组,系统分配的是同一片区域,双向传递
for(i=0;ik;i++)//循环输出
printf("%d=%d^3+%d^3+%d^3\n",a[i],a[i]/100,a[i]/10%10,a[i]%10);
}//输出结果为 153=1^3+5^3+3^3 370=3^3+7^3+0^3 371=3^3+7^3+1^3 407=4^3+0^3+7^3
调用函数水仙花c语言你看一下如果还有什么问题再问我
【调用函数水仙花c语言 c语言 水仙花数 函数】关于调用函数水仙花c语言和c语言 水仙花数 函数的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读