解题思路:学过线性代数都知道,行列互换就是,第一行变成第一列,第二行变成。。。。。。,以此类推,会发现就是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语言代码)浏览:1048 |
IP判断 (C语言描述,蓝桥杯)浏览:1118 |
1011题解浏览:819 |
sizeof的大作用 (C语言代码)浏览:1594 |
C语言程序设计教程(第三版)课后习题9.8 (C语言代码)浏览:672 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:654 |
字符逆序 (C语言代码)浏览:675 |
简单的a+b (C语言代码)浏览:444 |
数列问题 (C语言代码)浏览:1068 |
小O的数字 (C语言代码)浏览:1490 |