用c语言判断一个数是否为水仙花数?

求问我这样编写函数哪里错了

你的C语言程序我帮你改完了,完整的程序如下(改动的地方见注释)

#include<stdio.h>

int narcissistic(int number){

 //这里n=1改成n=0并加product变量保存连乘积

 int a,b=0,n=0,c,number2,number3,product;

 number2=number;

 number3=number;

 while(number>0){//这里把number>10改成number>0

  number=number/10;

  n++;

 }

 while(number2>0){//这里把number2>=1改成number2>0

  a=number2%10;

  number2=number2/10;

  product=1;//这里初始化product变量为1

  for(c=0;c<n;c++)//这里把c=1;改成c=0;

   product=product*a;//这里把a=a*a;改成product=product*a;

  b=b+product;//这里把b=b+a;改成b=b+product;

 }

 if(b==number3)

  return 1;

 else

  return 0;

}

int main(){

 int i;

 for(i=100;i<1000;i++){

  if(narcissistic(i)==1)

   printf("%d ",i);

 }

 return 0;

}

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答