很简单的有关问题,高手看一下

很简单的问题,高手看一下.
#include   <math.h>
#include   <stdio.h>
main(){
int   x,y,z,n;

printf( "input   a   integer:\n ",&n);
scanf( "%d ",&n);

for   (x=3;;x=x+1)
for   (y=4;;y=y+1)
for   (z=5;;z=z+1)
{  
if   (x*x+y*y!=z*z)   break;
        }    

if   (   (x <=y)   &&   (z <=n)   )
{
printf( "output   integer:\n ");
printf( "%d%d%d ",x,y,z);
}


没有结果.不知道怎么错了.高手看一下.
还有;就这个问题.什么是的程序运行时间微秒单位的输出,如果n=10,100,1000等等

------解决方案--------------------
#include <math.h>
#include <stdio.h>
main(){
int x,y,z,n;

printf( "input a integer:\n ",&n);
scanf( "%d ",&n);

for (x=3;;x=x+1)
{
for (y=4;;y=y+1)
{
for (z=5;;z=z+1)
{
if (x*x+y*y!=z*z) break;
}
break;
}
break;
}

if ( (x <=y) && (z <=n) )
{
printf( "output integer:\n ");
printf( "%d%d%d ",x,y,z);
}
}

这么就有了,注意break只跳出当前循环!
------解决方案--------------------
#include <math.h>
#include <stdio.h>
main(){
int x,y,z,n;

printf( "input a integer:\n ");
scanf( "%d ",&n);

for (x=3;;x=x+1)
{
for (y=4;;y=y+1)
{
for (z=5;;z=z+1)
{
if (x*x+y*y!=z*z)
{
if ( (x <=y) && (z <=n) )
{
printf( "output integer:\n ");
printf( "%d%d%d ",x,y,z);
}
return;
}
}
}
}

}
直接用return吧,减少代码量和出错的机会!