
3个回答
展开全部
按要求用指针:
#include <stdio.h>
void trans( int *p, int n){
int i,j,t;
for(j=0;j<n;j++)
{
for(i=j+1;i<n;i++)
{
t = p[j*n+i];
p[j*n+i] = p[i*n+j];
p[i*n+j] = t;
};
};
}
main() {
int p[4][4]= {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;
printf("before:\n");
for (j=0;j<4;j++){
for (i=0;i<4;i++) printf("%d ",p[j][i]); printf("\n");
}
trans(&p[0][0],4); // 调用
printf("After:\n");
for (j=0;j<4;j++){
for (i=0;i<4;i++) printf("%d ",p[j][i]); printf("\n");
}
return 0;
}
#include <stdio.h>
void trans( int *p, int n){
int i,j,t;
for(j=0;j<n;j++)
{
for(i=j+1;i<n;i++)
{
t = p[j*n+i];
p[j*n+i] = p[i*n+j];
p[i*n+j] = t;
};
};
}
main() {
int p[4][4]= {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;
printf("before:\n");
for (j=0;j<4;j++){
for (i=0;i<4;i++) printf("%d ",p[j][i]); printf("\n");
}
trans(&p[0][0],4); // 调用
printf("After:\n");
for (j=0;j<4;j++){
for (i=0;i<4;i++) printf("%d ",p[j][i]); printf("\n");
}
return 0;
}
展开全部
/*
转置前 :
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
转置后 :
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
*/
#include <stdio.h>
#define N 4
void Transpose(int a[][N]) {
int i,j,t;
for(i = 0; i < N - 1; ++i) {
for(j = i + 1; j < N; ++j) {
t = a[i][j];
a[i][j] = a[j][i];
a[j][i] = t;
}
}
}
void Show(int a[][N]) {
int i,j;
for(i = 0; i < N; ++i) {
for(j = 0; j < N; ++j)
printf("%4d",a[i][j]);
printf("\n");
}
}
int main() {
int a[N][N] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
printf("转置前 :\n");
Show(a);
Transpose(a);
printf("转置后 :\n");
Show(a);
getchar();
return 0;
}
转置前 :
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
转置后 :
1 5 9 13
2 6 10 14
3 7 11 15
4 8 12 16
*/
#include <stdio.h>
#define N 4
void Transpose(int a[][N]) {
int i,j,t;
for(i = 0; i < N - 1; ++i) {
for(j = i + 1; j < N; ++j) {
t = a[i][j];
a[i][j] = a[j][i];
a[j][i] = t;
}
}
}
void Show(int a[][N]) {
int i,j;
for(i = 0; i < N; ++i) {
for(j = 0; j < N; ++j)
printf("%4d",a[i][j]);
printf("\n");
}
}
int main() {
int a[N][N] = {{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};
printf("转置前 :\n");
Show(a);
Transpose(a);
printf("转置后 :\n");
Show(a);
getchar();
return 0;
}
本回答被提问者和网友采纳

你对这个回答的评价是?
展开全部
这个在教科书上应该就有的(我以前学VC++时,教科书上就有这个)。你要是学生的话就回去翻书。
下面是知道里的
http://zhidao.baidu.com/question/54045815.html
http://zhidao.baidu.com/question/46495742.html
下面是知道里的
http://zhidao.baidu.com/question/54045815.html
http://zhidao.baidu.com/question/46495742.html
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询