更新时间2018-03-28 14:38:47
程序的功能是:先从键盘读入m与n(约定m,n的范围为2~20),再读入m×n矩阵,然后对该矩阵进行转置,最后输出转置后的矩阵。 程序的运行效果应类似地如图1所示,图1中的红色部分是从键盘输入的内容。
先贴出一段已给出的程序
#include <stdio.h>
#define MAX 20
/* userCode(<100字符): 自定义函数之原型声明 */
______________________________
int main(void)
{
int arrA[MAX][MAX], arrB[MAX][MAX], i, j, m, n;
printf("请输入 m n: ");
scanf("%d %d", &m, &n);
printf("请输入 %d 行 %d 列矩阵: ", m, n);
for (i=0; i<m; i++)
{
for (j=0; j<n; j++)
{
scanf("%d", &arrA[i][j]);
}
}
rotate(arrA, arrB, m, n); /* 调用函数进行转置 */
printf(" 转置后的矩阵为: ");
for (i=0; i<n; i++)
{
for (j=0; j<m; j++)
{
printf("%5d ", arrB[i][j]);
}
putchar(' ');
}
return 0;
}
/* User Code Begin:考生在此后完成自定义函数的设计,行数不限 */
图一
/* userCode(<100字符): 自定义函数之原型声明 */
void rotate(int (*a)[MAX], int (*b)[MAX], int m, int n);
.....
/* User Code Begin:考生在此后完成自定义函数的设计,行数不限 */
void rotate(int (*a)[MAX], int (*b)[MAX], int m, int n)
{
int i,j;
for(i=0; i<n; i++)
for(j=0; j<m; j++)
{
b[i][j]=a[j][i];
}
}