写一个函数,使给定的一个3*3的二维整型数组转置,即行列互换

/*写一个函数,使给定的一个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题
题目我没读明白,只能按照自己的理解写了程序,运行结果是
在这里插入图片描述

发布了87 篇原创文章 · 获赞 9 · 访问量 8572

猜你喜欢

转载自blog.csdn.net/qq_40834200/article/details/105098347