void main()
{
int i,j,a[15][15],n,k;
printf("Input\nn= ");
scanf("%d",&n);
k=1;
//输出上三角
for(i=1;i<=n;i++)
for(j=1;j<=i;j++)
{
if(i%2==0)
a[i+1-j][j]=k;
else
a[j][i+1-j]=k;k++;
}
//输出下三角
for(i=n+1;i<2n;i++)
for(j=1;j<=2n-i;j++)
{
if(i%2==0)
a[n+1-j][i-n+j]=k;
//n+1在这里是定值了
else
a[i-n+j][n+1-j]=k;
k++;
}
printf("Output\n");
for(i=1;i<=n;i++)
{
printf("\n");
for(j=1;j<=n;j++)
printf("%3d",a[i][j]);
}
printf("\n");
}#include<stdioh>
void main()
{
int data[15][15]={0};
int n,m,i,j,num,flag=1;
scanf("%d",&n);
m=nn+1;
i=0;j=0;
for(num=1;num<=m/2;num++) //生成矩阵
{
data[i][j]=num;
data[n-i-1][n-j-1]=m-num;
i=i-flag;j=j+flag;
if(i<0){i=0;flag=-flag;}
if(j<0){j=0;flag=-flag;}
}
for(i=0;i<n;i++) //打印矩阵
{
for(j=0;j<n;j++)printf("%3d ",data[i][j]);
printf("\n");
}
}
for(k=0;k<10/2;k++)
{
for(i=0;i<10-k;i++) //这里应该是10-k
a[i][k]= ++count;
完整程序:
#include<stdioh>main()
{
int i,j,k,count=0,a[10][20];
for(k=0;k<10/2;k++)
{
for(i=0;i<10-k;i++)
a[i][k]= ++count;
for(j=k+1;j<20-k;j++)
a[10-k-1][j] = ++count;
for(i=10-k-2;i > k;i--)
a[i][20-k-1] = ++count;
for(i=20-k-1;i > k;i--)
a[k][i] = ++count;
}
for(j=0;j<10;j++)
{
for(i=0;i<20;i++)
printf("%d ",a[j][i]);
printf("\n");
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)