用C语言编写程序,求1000到9999之间水仙花数的平均值。

2024-11-13 08:15:34
推荐回答(3个)
回答(1):

#include

int main()

{

 int i,a,b,c,d,n=0,s=0;

 for(i=1000;i<10000;i++)

 {

  a=i/1000;        //千位数

  b=i/100%10;    //百位数

  c=i/10%10;        //十位数

  d=i%10;            //个位数

  if(i==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)

  {n++;

   s+=i;

   printf("%d\n",i);

  }

 }

 printf("\n平均值=%.2f\n",(float)s/n);

 getch();

}

回答(2):

#include
void main()
{
int m,a,b,c,d,num=0,sum=0;
for(m=1000;m<=9999;m++)
{
a=(int)(m/1000);
b=(int)((m-1000*a)/100);
c=(int)((m-(1000*a+100*b))/10);
d=(int)(m-(1000*a+100*b+10*c));
if(m==a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d)
{
printf("%d ",m);
sum+=m;
num++;
}
}
printf("\n平均值:%.2f\n",1.0*sum/num);
}

回答(3):