解题思路:学过线性代数都知道,行列互换就是,第一行变成第一列,第二行变成。。。。。。,以此类推,会发现就是a[m][n],变成a[n][m];
注意事项:
参考代码:
#include
int main()
{
int a[3][3];
int b[3][3];
int i,j;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
b[j][i]=a[i][j];
}
}
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
printf("%d ",b[i][j]);
}
printf("\n");
}
}
0.0分
2 人评分
#include<stdio.h> void exchange(int a[][3],int b[][3]) { int i,j; for(i=0;i<3;i++) { for(j=0;j<3;j++) { scanf("%d",&a[i][j]); } } for(i=0;i<3;i++) { for(j=0;j<3;j++) { b[j][i]=a[i][j]; } } for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d ",b[i][j]); } printf("\n"); } } int main() { int a[3][3]; int b[3][3]; exchange(a,b); }
题目要求是单独写一个函数来求数列的转置,你的事没有按要求来。
刘家有 2021-04-16 21:39:29 |
这个简单,向函数中传入数组就行了
刘家有 2021-04-16 21:39:39 |
#include<stdio.h> void exchange(int a[][3],int b[][3]) { int i,j; for(i=0;i<3;i++) { for(j=0;j<3;j++) { scanf("%d",&a[i][j]); } } for(i=0;i<3;i++) { for(j=0;j<3;j++) { b[j][i]=a[i][j]; } } for(i=0;i<3;i++) { for(j=0;j<3;j++) { printf("%d ",b[i][j]); } printf(" "); } } int main() { int a[3][3]; int b[3][3]; exchange(a,b); }
矩阵乘法 (C++代码)浏览:1453 |
C语言程序设计教程(第三版)课后习题6.9 (C语言代码)浏览:992 |
WU-输入输出格式练习 (C++代码)浏览:1076 |
2006年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:464 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:371 |
1014题解浏览:484 |
剪刀石头布 (C语言代码)浏览:1432 |
计算质因子 (C语言代码)浏览:696 |
整除问题 (C语言代码)浏览:518 |
小O的图案 (C语言代码)浏览:911 |