/*写一个函数,使给定的一个3*3的二维整型数组转置,即行列互换*/
#include <stdio.h>
#include <string.h>
//转置的函数
int fun(int a[3][3])
{
int i,j,t,b,c;
for(i = 0;i < 1;i++)
{
for(j = 0;j < 3;j++)
{
b = i + 2;
if(b > 2)
{
b = b % 2;
}
c = j + 2;
if(c > 2)
{
c = c % 2;
}
t = a[i][j];
a[i][j] = a[b][c];
a[b][c] = t;
}
}
for(i = 1;i < 2;i++)
{
for(j = 0;j < 2;j++)
{
b = i + 2;
if(b > 2)
{
b = b % 2;
}
c = j + 2;
if(c > 2)
{
c = c % 2;
}
t = a[i][j];
a[i][j] = a[b][c];
a[b][c] = t;
}
}
}
int main()
{
int a[3][3];
int i,j;
printf("请输入数据:\n");
for(i = 0;i < 3;i++)
{
for(j = 0;j < 3;j++)
{
scanf("%d",&a[i][j]);
}
}
fun(a);
printf("转置后的数据:\n");
for(i = 0;i < 3;i++)
{
for(j = 0;j < 3;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
谭浩强C程序设计(第四版)p218第4题
题目我没读明白,只能按照自己的理解写了程序,运行结果是