intnarcissistic(int number ){int a =0, b =0, c =0, sum =0, num;
num = number;//保存numberdo{//计算number为多少位数
number /=10;
b++;}while(number !=0);
number = num;//number找回初始值while(number !=0){
c =1;
a = number %10;//取出number的个位
number /=10;for(int i =1; i <= b; i++){
c = c * a;//计算各位数的n次幂}
sum += c;}if(num == sum){//比较判断是否为水仙花数return1;}else{return0;}}voidPrintN(int m,int n ){for(int i = m +1; i < n; i++){if(narcissistic(i)){printf("%d\n", i);}}}
6-6 使用函数输出水仙花数 (25 分)水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身, 本题要求编写两个函数,一个判断给定整数是否水仙花数,另一个按从小到大的顺序打印出给定区间(m,n)内所有的水仙花数。int narcissistic( int number ){ int a = 0, b = 0, c = 0, sum = 0, num; num = number; //保存number do{//计算number为多少位数