找水仙花数,求为什么运行不出来

#include
#include
int main()
{
int n,i=1,t=1;
printf("请输入n的值:");
scanf("%d",&n);
while(i
{t=t10;
i++;}
int num,digit=t,j=0;
double sum;
while(digit
10)
{ sum=0;
j=digit;
while(j!=0)
{num=j%10;
sum=sum+pow(num,n);
j=j/10;
}
if(sum==digit)
printf("%d ",digit);
}digit++;
}

把digit++移到while循环里面就可以了,修改了一下,如下:
参考链接:
水仙花数_百度百科

#include <stdio.h>
#include <math.h>
int main()
{
    
    int n,i=1,t=1;
    printf("请输入n的值:");
    scanf("%d",&n);
    while(i<n)
    {t=t*10;
    i++;}
    
    int num,digit=t,j=0;
    double sum;
    while(digit<t*10)
    { 
        sum=0;
        j=digit;
        while(j!=0)
        {num=j%10;
        sum=sum+pow(num,n);
        j=j/10;
        }
        if(sum==digit)
            printf("%d ",digit);
        digit++;    
    }

}

img

代码格式化一下吧,*号没了

t10是什么东西啊?能讲讲原题目吗?

img