c语言输入一个n×n的方阵,把其转置并输出。 输入格式: 每组测试数据处理到文件尾。对于每组测试,第一行输入一个整数n(n≤10),接下来的n行每行输入n个不超过2位的整数。 输出格式: 对于每组测试,输出这n×n矩阵的转置方阵,每行的每两个数据之间留一个空格,且每行最后一格不留空格,最后一行不换行
时间: 2023-06-26 14:05:52 浏览: 155
下面是一份 C 语言代码实现:
```c
#include <stdio.h>
int main() {
int n;
while (scanf("%d", &n) != EOF) {
int matrix[10][10];
// 输入矩阵
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
scanf("%d", &matrix[i][j]);
}
}
// 转置矩阵并输出
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
printf("%d", matrix[j][i]);
if (j != n - 1) {
printf(" ");
}
}
if (i != n - 1) {
printf("\n");
}
}
}
return 0;
}
```
代码思路:
1. 输入 n 和矩阵元素。
2. 遍历矩阵,将每一列转换为每一行。
3. 输出转置后的矩阵。注意最后一行不能换行,最后一列不能有空格。
代码中用了一个二维数组 `matrix` 来存储方阵元素,这个数组的大小是 10 × 10,而题目中方阵的大小不会超过 10。如果方阵大小可能超过 10,可以使用动态内存分配或者 STL 容器来存储元素。
阅读全文