C语言求问初级入门的代码问题

问题描述:求n位数的水仙花数。
烦请各位大佬看一看哪里出了问题?

#include <stdio.h>
#include <math.h>
int main ()
{
    int i;
    int sum=0;
    int n;
    int bei =1;
    printf("here1\n");
    scanf("%d",&n);

    for ( i = 1; i < n; i++)
    {
        bei = bei*10;
    }

    for (i = bei; i<10*bei;i++)
    {
        int b;
        int t = i;

        while (t > 0){
            b=t%10;
            t=t/10;
            sum = sum + pow(b,n);
         }
        if (sum==n)
        {
            printf("%d",sum);
        }

    }

return 0;    
}
#include <stdio.h>
#include <math.h>
int main(){
int i,j=0,k,n,s=0,a[10];
scanf("%d",&n);
for(i=(int)pow(10.0,n-1);i<(int)pow(10.0,n);i++)
{
k=i;
while(k)
{
a[j]=k%10;
s+=(int)pow(double(a[j]),n);
k/=10;
j++;
}
if(s==i) printf("%d ",i);
j=0;s=0;
}
return 0;
}