打印回形矩阵(C实现)

来源:互联网 发布:南风知我意gl书包网 编辑:程序博客网 时间:2024/06/10 18:48

/*输入要打印的回形矩阵的行和列,并根据输入的行和列进行矩阵的赋值;形如:3 行4列矩阵:123410111259876*/#include<stdio.h>int  main(void){int c,m,n,i,j;int t=1;int a[100][100];printf("请输入回形矩阵的行和列:\n");scanf("%d%d",&m,&n);if(m > n){if(n%2 == 0)c=n/2;elsec=n/2+1;}else{if(m%2 == 0)c=m/2;elsec=m/2+1;}for(i=0;i<c;i++){for(j=i;j<n-i-1;j++)//输入当前行的数a[i][j]=t++;for(j=i;j<m-i-1;j++)//输入当前列的数a[j][n-i-1]=t++;for(j=n-i-1;j>i;j--){if(t <= m*n)a[m-i-1][j]=t++;//输入第m-i-1行的数}for(j=m-i-1;j>i;j--){if(t <= m*n)a[j][i]=t++; //输入第i列的数}}if(t-1 < m*n) //判断当输入行和列是奇数时最中心的那个数有没有输入,即最后一个数有没有输入a[m/2][n/2] = m*n;printf("\n");for(i=0;i<m;i++)for(j=0;j<n;j++){printf("%4d", a[i][j]);if(((j+1)%n) == 0)printf("\n");}return 0;}

1 0
原创粉丝点击