编写函数判断是否为水仙花数(编写一个判断水仙花的函数)
编写函数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;
}
编写一个判断整数是否为水仙花数的函数,并通过调用该函数打印输出所有水仙花数?
#includelt;stdio.hgt;
#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%。
参考资料:
百度百科——水仙花数
编写函数判断一个数字是否是水仙花数。若是水仙花数,函数返回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语言编写判断是否是水仙花数的程序
水仙花数指的是一个数的各位数字的立方和等于数字本身,那么我们怎么样用C语言去判断一个数字是不是水仙花数呢?下面我给大家分享一下。
工具/材料
Visual Studio 2015
01
首先打开Visual Studio 2015软件,新建一个C语言程序,如下图所示
02
然后我们需要在C语言文件中引入库文件stdio.h,它里面包含了很多后面要使用的函数,如下图所示
03
接着我们就需要实现水仙花数的判断逻辑,主要是把输入的数字各个位都取出来,然后进行立方求和,最后和输入的数字进行比较,如下图所示
04
最后我们按ctrl+F5运行程序,在弹出的界面中,我们输入一个数字,程序就会自动告诉我们这个数字是不是水仙花数