C语言编程:N*N方阵的转置
【问题描述】输入一个正整数n(1<n≤6),在主函数输入n*n的方阵的值,编写函数将该方阵转置(行列互换,不能用辅助数组),然后在主函数输出转置后的矩阵。【输入形式】矩阵...
【问题描述】 输入一个正整数n (1<n≤6),在主函数输入n*n的方阵的值,编写函数将该方阵转置(行列互换,不能用辅助数组),然后在主函数输出转置后的矩阵。
【输入形式】矩阵维数,然后输入n*n方阵的值
【输出形式】输出转置后的矩阵
【样例输入】
5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
【样例输出】
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25
【样例说明】第一个数是方阵的维数,后面的整数是方阵的值,数据间隔为两列 展开
【输入形式】矩阵维数,然后输入n*n方阵的值
【输出形式】输出转置后的矩阵
【样例输入】
5
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
【样例输出】
1 6 11 16 21
2 7 12 17 22
3 8 13 18 23
4 9 14 19 24
5 10 15 20 25
【样例说明】第一个数是方阵的维数,后面的整数是方阵的值,数据间隔为两列 展开
2个回答
展开全部
#include<stdio.h>
int main()
{
int n,t,a[100][100],i,j; scanf("%d",&n);
for(i=0;i<n;i++)
for(j=0;j<n;j++) scanf("%d",&a[i][j]);
printf("转换后:\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
if(j==0)
printf("%d",a[j][i]); else printf(" %d",a[j][i]);
}
printf("\n");
}}}
扩展资料:
C语言书写规则:
1、一个说明或一个语句占一行。
2、用{} 括起来的部分,通常表示了程序的某一层次结构。{}一般与该结构语句的第一个字母对齐,并单独占一行。
3、低一层次的语句或说明可比高一层次的语句或说明缩进若干格后书写。以便看起来更加清晰,增加程序的可读性。在编程时应力求遵循这些规则,以养成良好的编程风格。
参考资料:
展开全部
更多追问追答
追问
感谢解答,但是为什么输出结果前面会有空格呢?
追答
前面不要空格,寻就把最后的%4d,改为%-4d
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询