benglala0828 2021-12-07 09:28 采纳率: 100%
浏览 49
已结题

C语言:初始化一个5X6的二维数组,编写函数,使数组中的第一列元素与最后一列元素对调,第2列元素与倒数第2列元素对调,依此类推。输出原始数组和对调后的数组。

#include<stdio.h>
int main()
{
int a[5][6];
int i,j;
for(i=0; i<5; i++)
{
for(j=0; j<6; j++)
scanf("%d",&a[i][j]);
}
swapt(a,3,4);
for(i=0; i<5; i++)
for(j=0; j<6; j++)
{
printf("%d",a[i][j]);
}
return 0;
}
int swapt(int a[5][6],int i,int j,int temp)
{
for(i=0; i<3; i++)
{
if(j<6)
{
temp=a[i][j];
a[i][j]=a[5-i][j];
a[5-i][j]=temp;
j++;
}

}

}
止步于此,求助555

  • 写回答

2条回答 默认 最新

  • 南城Flipped 2021-12-07 09:37
    关注
    
    #include<stdio.h>
    int swapt(int a[5][6],int i,int j);//函数写主函数后面要提前声明 
    int main()
    {
        int a[5][6];
        int i,j;
        for(i=0; i<5; i++)
        {
            for(j=0; j<6; j++)
                scanf("%d",&a[i][j]);
        }
        for(i=0; i<5; i++){
            for(j=0; j<6; j++)
            {
                printf("%d\t",a[i][j]);
            }
            printf("\n"); 
        }
        swapt(a,5,6);
        for(i=0; i<5; i++){
            for(j=0; j<6; j++)
            {
                printf("%d\t",a[i][j]);
            }
            printf("\n"); 
        }
    
        return 0;
    }
    int swapt(int a[5][6],int i,int j)
    {
        int temp;
        for(i=0; i<5; i++)
        {
            for(j=0; j<6/2; j++)
            {
    
                temp=a[i][j];
                a[i][j]=a[i][6-1-j];
                a[i][6-1-j]=temp;
            }
        }
    }
    

    img

    img

    你这么写是行在对调

    有帮助的话采纳一下

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

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月7日
  • 已采纳回答 12月7日
  • 创建了问题 12月7日