• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
qyk123
博客园    首页    新随笔    联系   管理    订阅  订阅
C语言实验报告七——指针

题目:编写一个函数,将main函数输入的3×3矩阵转置,在main函数中输出转置的结果。

思路:

  1. 用户输入一个3x3的整数矩阵。
  2. 使用两层嵌套循环,遍历矩阵元素。
  3. 在每一次迭代中,通过指针操作交换矩阵元素,实现矩阵的转置。
  4. 输出转置后的矩阵元素。

代码:

void main() 
{
	int a[3][3], i, j, t;
	printf("输入矩阵\n");
	for (i = 0; i < 3; i++)
		scanf("%d %d %d", &a[i][0], &a[i][1], &a[i][2]);
	for (i = 0; i < 3; i++)
		for (j = i; j < 3; j++) 
		{
			t = *(*(a + i) + j);//数组a[i][j]= a[j][i];
			*(*(a + i) + j) = *(*(a + j) + i);
			*(*(a + j) + i) = t;
		}
	printf("转置后\n");
	for (i = 0; i < 3; i++)
		printf("%d %d %d\n", a[i][0], a[i][1], a[i][2]);
}
  1. 主函数 (main):

    • 定义了一个3x3的整数矩阵 a。
    • 使用嵌套循环输入用户提供的3x3矩阵的元素。
  2. 矩阵转置操作:

    • 使用两层嵌套循环遍历矩阵,其中 i 控制行数,j 控制列数。
    • 在每一次迭代中,通过指针操作 *(*(a + i) + j) 和 *(*(a + j) + i) 交换矩阵元素。
    • 这样,就实现了矩阵的转置。
  3. 输出转置后的矩阵:

    • 输出转置后的矩阵元素。
posted on 2024-02-21 14:28  qiyukun  阅读(29)  评论(0)    收藏  举报  来源
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3