C语言,利用指针将数组的行与列互换一定要用C语言,谢谢,在线等
答案:1 悬赏:0
解决时间 2021-11-28 17:22
- 提问者网友:孤笛钟情你
- 2021-11-28 12:20
C语言,利用指针将数组的行与列互换一定要用C语言,谢谢,在线等
最佳答案
- 二级知识专家网友:苦柚恕我颓废
- 2021-11-28 13:29
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define M 5
#define N 5
void main()
{
void create(int a[][N]);
void swap(int **a);
void show(int (*p)[N]);
int a[M][N], *p[M], i, j;
create(a);
for ( i = 0; i < M; i++)
{
p[i] = a[i];
for ( j = 0; j < N; j++)
printf ("%3d", a[i][j]);
printf ("\n");
}
printf ("\n");
swap(p);
printf ("行与列互换后:\n");
show(a);
}
void create(int a[][N])
{
int i, j;
srand ((unsigned) time (NULL));
for ( i = 0; i < M; i++)
for ( j = 0; j < N; j++)
a[i][j] = rand () % 100;
}
void swap(int **a)
{
int i, j, t;
for (i = 0; i < M; i++)
for (j = 0; j < i; j++)
{
t = a[i][j];
a[i][j] = a[j][i];
a[j][i] = t;
}
}
void show(int (*p)[N])
{
int i, j;
for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
printf ("%3d", p[i][j]);
printf ("\n");
}
}
#include <stdlib.h>
#include <time.h>
#define M 5
#define N 5
void main()
{
void create(int a[][N]);
void swap(int **a);
void show(int (*p)[N]);
int a[M][N], *p[M], i, j;
create(a);
for ( i = 0; i < M; i++)
{
p[i] = a[i];
for ( j = 0; j < N; j++)
printf ("%3d", a[i][j]);
printf ("\n");
}
printf ("\n");
swap(p);
printf ("行与列互换后:\n");
show(a);
}
void create(int a[][N])
{
int i, j;
srand ((unsigned) time (NULL));
for ( i = 0; i < M; i++)
for ( j = 0; j < N; j++)
a[i][j] = rand () % 100;
}
void swap(int **a)
{
int i, j, t;
for (i = 0; i < M; i++)
for (j = 0; j < i; j++)
{
t = a[i][j];
a[i][j] = a[j][i];
a[j][i] = t;
}
}
void show(int (*p)[N])
{
int i, j;
for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
printf ("%3d", p[i][j]);
printf ("\n");
}
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯