这个求水仙花数的哪里错了?该怎么改,有人能写一下吗?

#include<stdio.h>
int main()
{
int x,y,z,n,m;
for(x=1;x<=10;x++)
for(y=1;y<=10;y++)
for(z=1;z<=10;z++)
{
n=100x+10y+z;
m=xx+yy+z*z;
if(m==n)
printf("%d",m);
}
return 0;
}


#include <stdio.h>
int main()
{
    int i,x, y, z, n, m;
    for(i = 100;i < 1000;i++){
        x = i % 10;
        y = (i / 10) % 10;
        z = i / 100;
        if(x*x*x + y*y*y + z*z*z == i){
            printf("%d ",i);
        }
    }
    return 0;
}