#本人大一软件工程在读,妥妥的小菜鸟一枚,以下仅是我自己的学习心得,用来整理笔记用的,要是有什么错误,跪请各位大佬指正!!!🙏🙏🙏#
没几天C语言程序设计小测了,上次小测考的一塌糊涂,现在赶着刷题,正好做到这条题目,太菜了花了一点时间,记录一下。
想着在CSDN里写笔记,比较好找一点,so这就是个小菜鸟的学习笔记😊
一开始写的程序:
#include <stdio.h>
int main(){
int a[3][3]={0};
int i,j=0;
int t=0;
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++){
t=a[i][j];
a[i][j]=a[j][i];
a[j][i]=t;
}
}
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("%d ",a[i][j]);
}
printf("\n");
}
}
这么写有一个问题,就是它里面的数会换两次,也就是说会换回来,而我无法确定什么时候停止。
所以又重写了一个:
#include <stdio.h>
int main(){
int a[3][3]={0};
int b[3][3]={0};
int i,j=0;
int t=0;
for(i=0;i<3;i++){
for(j=0;j<3;j++){
scanf("%d", &a[i][j]);
}
}
for(j=0;j<3;j++){
for(i=0;i<3;i++){
b[i][j]=a[j][i];
}
}
for(i=0;i<3;i++){
for(j=0;j<3;j++){
printf("%d ",b[i][j]);
}
printf("\n");
}
}
这个其实就是新建一个数组,把原来的一行行的数据填到列里去,这样就可以解决问题了!