题目链接:
习题5-6 使用函数输出水仙花数 (20分)
#include <stdio.h>
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;
}
/* 你的代码将被嵌在这里 */
#include<math.h>
int narcissistic( int number ){
int c=0,t=number,i,a,b;
do{
c++;
t=t/10;
}while(t!=0);
a=c;
t=number;
for(i=1;i<=c;i++){
b=t%10;
number=number-pow(b,a);
t=t/10;
}
if(number==0){
return 1;
}else{
return 0;
}
}
void PrintN( int m, int n ){
int i;
for(i=m+1;i<n;i++){
if(narcissistic(i)){
printf("%d\n",i);
}
}
}