#include<stdio.h> int main() { int a[3][4]; int i,j; for(i=0;i<3;i++) { for(j=0;j<4;j++) { scanf("%d",&a[i][j]); } } int b[4][3]; for(i=0;i<4;i++) { for(j=0;i<3;j++) { b[i][j]=a[j][i]; } } FILE *fp; fp=fopen("out.txt","w"); for(i=0;i<4;i++) { fwrite(b[i],sizeof(int),3,fp); } fclose(fp); return 0; } 怎么修改
时间: 2023-06-23 11:51:07 浏览: 95
#include <stdio.h>
在第17行的for循环中,判断条件应该是j<3而不是i<3,修改后的代码如下:
```
#include<stdio.h>
int main() {
int a[3][4];
int i,j;
for(i=0;i<3;i++) {
for(j=0;j<4;j++) {
scanf("%d",&a[i][j]);
}
}
int b[4][3];
for(i=0;i<4;i++) {
for(j=0;j<3;j++) { // 修改此处
b[i][j]=a[j][i];
}
}
FILE *fp;
fp=fopen("out.txt","w");
for(i=0;i<4;i++) {
fwrite(b[i],sizeof(int),3,fp);
}
fclose(fp);
return 0;
}
```
这样就可以将a数组转置后写入文件out.txt中了。
阅读全文