问题标题: 酷町堂:二维数组的倒序输入输出

0
0

0
已采纳
被禁言 姜思远
姜思远
初级光能
初级光能
#include <stdio.h>

void chage(int array[], int n)
{
    int tem;
    for (int i = 0; i < n/2; i++)
    {
        tem = array[i];
        array[i] = array[n-1-i];
        array[n-1-i] = tem;
    }
}

int main()
{
    int a[] = {0,1,2,3,4,5,6,7,8,9};
    chage(a, 10);
    for (int i = 0; i < 10; i++)
        printf("%d ", a[i]);
    printf("\n");
}
0
董宇昊
董宇昊
初级启示者
初级启示者

看了,但我也不会

董宇昊在2020-05-02 16:09:19追加了内容

//blog.csdn.net/u011546032/article/details/78430255

0
徐子宸
徐子宸
中级天翼
中级天翼
#include<bits/stdc++.h>
using namespace std;
int a[5][5];//以5为例
int main(){
 for(int i=0;i<=4;i++){
  for(int j=0;j<=4;j++){
   cin>>a[i][j];//输入数组
  }
 }
 for(int i=4;i>=0;i--){//行倒序
  for(int j=4;j>=0;j--){//列倒序
   cout<<a[i][j]<<' ';//输出数组
  }cout<<endl;
 }
    return 0;
}

0
李泽远
李泽远
高级天翼
高级天翼

//二维数组逆序 
//总共有奇数行还是偶数行
//偶数行 第一行和最后一行逆序交换,第二行和倒数第二行
//若共有奇数行,注意最中间的那行,单独进行逆序交换 
#include<stdio.h>
int main()
{
    int a[3][4];
    int i,j;
    for(i=0;i<3;i++)
    {
        for(j=0;j<4;j++)
        scanf("%d",&a[i][j]);
    }//输入数组的值
    swapt(a,3,4);//交换 --实参传递数组 只传递数组名即可(数组首地址) 
    
    return 0;
}
 
int swapt(int a[][4],int m,int n)//形参 数组必须注明 列数 
//有奇数行 还是偶数行 奇数行除了中间一行单独交换 其他行循环交换 
{
    int i,j,temp,k;
    k=(1+m)/2;//前一半行 和 后一半行 
    for(i=0;i<k;i++)
    {
        for(j=0;j<n;j++)
        {
            temp=a[i][j];
            a[i][j]=a[m-1-i][n-1-j];
            a[m-1-i][n-1-j]=temp;
        }
    }//交换 
    if(m%2!=0)//有奇数行 
    {
        k=k/2;//中间行 
        for(j=0;j<n/2;j++)//该行的前半段和后半段交换 
        {
            temp=a[k][j];
            a[k][j]=a[k][n-1-j]; 
            a[k][n-1-j]=temp;
        }
    }
    for(i=0;i<m;i++)
    {
        for(j=0;j<n;j++)
        printf("%d ",a[i][j]);
        printf("\n");
    }//输出 
    
    return 0;

李泽远在2020-05-03 12:31:42追加了内容

注意,这不是题目,不算整段代码!!!!!!!!!!!!

我要回答