比如输入
3
1 2 3
4 5 6
7 8 9
输出
1 4 7
2 5 8
3 6 9
下面是我的程序,不知道哪里错了,高手指导一下,谢啦
#include<stdio.h>
void main()
{void change(int N);
int n;
scanf("%d",&n);
printf("\n");
change(n);
}
void change(int N)
{int i,j;
int a[N][N],b[N][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++)
b[i][j]=a[j][i];
}
for(i=0;i<=N;i++)
{for(j=0;j<=N;j++)
printf("%d",b[i][j]);
printf("\n");
}
}
int a[N][N],b[N][N],k=1;
a[0][0]=1;
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
{
a[i][j]=k;
k++;
}
为什么要赋值啊,什么意思
不好意思,原来我看错了
只要把<=都改为< 号就行了,因为数组从0开始
那怎么解决呢
追答定义到具体几行几列
追问关键是N是要你输入的
追答动态开辟数组,给你资料你参考一下http://baike.baidu.com/view/3761318.htm
http://zhidao.baidu.com/question/328204757.html
http://wenku.baidu.com/view/35b3fa3383c4bb4cf7ecd11b.html