728x90
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,j,n,a[10][10],k=1,p,m,s=1;
do
{
printf("input = ");
scanf("%d",&n);
if(n==0) return 0;
}while(n>=10);
m=n;
if(n%2==1)
{
i=0,j=-1,k=1;
while(1)
{
for(p=0;p<n;p++)
{
j+=s;a[i][j]=k++;
}
n--; if(n<1) break;
for(p=0;p<n;p++)
{
i+=s;a[i][j]=k++;
}
s=s*-1;
}
}
else
{
i=-1,j=0,k=1;
while(1)
{
for(p=0;p<n;p++)
{
i+=s;a[i][j]=k++;
}n--; if(n<1) break;
for(p=0;p<n;p++)
{
j+=s;a[i][j]=k++;
}
s=s*-1;
}
}
for(i=0;i<m;i++)
{
for(j=0;j<m;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
return 0;
}
반응형