心语连绵 2022-03-18 23:13 采纳率: 100%
浏览 43
已结题

哪位能够逐行详细解释一下这个代码,和讲一下相关知识点🙏

#define N 3
int array[N][N];
convert(array)
int array[N][N];
{int i,j,t;
for (i=0;i<N;i++)
for(j=i+1;j<N;j++)
{t=array[i][j];
array[i][j]=array[j][i];
array[j][i]=t;
}
}
main()
{int i,j;
printf("\nPlease input number of array:\n");
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&array[i][j]);
printf("The array is :\n");
for(i=0;i<N;i++){ for(j=0;j<N;j++)
printf("%5d",array[i][j]);
printf("\n");
}
convert(array);
printf("The new array is:\n");
for(i=0;i<N;i++)
{ for(j=0;j<N;j++)
printf("%5d",array[i][j]);
printf("\n");
}
}

  • 写回答

3条回答 默认 最新

  • CSDN专家-sinJack 2022-03-18 23:20
    关注

    输入3行3列的矩阵,然后行列转换。

    #define N 3
    int array[N][N];//定义二维数组
    convert(array)//对二维数组进行行列转换
    int array[N][N];
    {int i,j,t;
    for (i=0;i<N;i++)//循环二维数组
    for(j=i+1;j<N;j++) //循环二维数组
    {t=array[i][j];//临时变量接收当前二维数组元素值
    array[i][j]=array[j][i];//进行交换
    array[j][i]=t;
    }
    }
    main()
    {int i,j;
    printf("\nPlease input number of array:\n");
    for(i=0;i<N;i++)//遍历二维数组
    for(j=0;j<N;j++)
    scanf("%d",&array[i][j]);//对二维数组中元素进行赋值
    printf("The array is :\n");
    for(i=0;i<N;i++){ for(j=0;j<N;j++)
    printf("%5d",array[i][j]);//输出交换前的二维数组元素
    printf("\n");
    }
    convert(array);//调用交换函数
    printf("The new array is:\n");
    for(i=0;i<N;i++)
    { for(j=0;j<N;j++)
    printf("%5d",array[i][j]);//输出行列交换后的二维数组元素值
    printf("\n");
    }
    }
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 3月27日
  • 已采纳回答 3月19日
  • 修改了问题 3月18日
  • 创建了问题 3月18日