判断一个给定的5×5方阵是否以第3列为轴线对称?

包含数组,循环结构和选择分支结构

必须包含顺序结构、选择分支结构、循环结构

必须包含数组 必须包含一个以上的函数

可以包含指针

#include "stdio.h"

int main(){

    int a[5][5]={
        {1,2,3,2,1},
        {5,6,7,6,5},
        {8,9,10,9,8},
        {11,12,13,12,11},
        {14,15,16,15,14}
    };
    int i,j;
    int flag=0;
    for(i=0;i<3;i++){
        for(j=0;j<5;j++){
            if(a[j][i] != a[j][4-i]){
                flag = 1;
                break;
            }
        }
    }
    if(flag){
        printf("数组是对称的\n");
    }else{
        printf("数组不是对称的\n");
    }

}

 

 

代码如下:{如果对你有帮助,可以给我个采纳吗,谢谢!! 点击我这个回答右上方的【采纳】按钮}。 

#include <stdio.h>
int fun(int (*a)[5]) {//使用指针的
    int i,j;
    for (i = 0; i < 5; i++) //循环方阵的每一行
        for (j = 0; j <= 1; j++) //循环每一行0和1列
            if (a[i][j]!=a[i][4-j]) //如果j列不等于4-j列(0列不等于4列或者1列不等于3列)就是不对称,会返回0
                return 0;
    return 1; //都对称则返回1
}
void main() {
    int a[5][5] = {
        1,2,3,2,1,
        9,8,7,8,9,
        0,6,3,6,0,
        4,5,1,5,4,
        1,5,9,5,1
    };
    if (fun(a)==1) {
        printf("对称");
    } else {
        printf("不对称");
    }
}

 

/*
/*11.   判断一个给定的5×5方阵是否以第3列为轴线对称 ?
 
/*/
#include<stdio.h>
#include<stdlib.h>
#define N 5
void main1() {
 
    int a[N][N] =
    { 
        { 1,2,3,2,1 },
        { 1,2,3,2,1 },
        { 1,2,3,2,1 },
        { 1,2,3,2,1 },
        { 1,2,3,2,1 }
 
 
    };
    int flag = 1;
    for (int i = 0; i < N; i++) {
        for (int j = 0; j < N / 2; j++) {
            if (a[i][j] != a[i][N-1 - j]) {
                printf("%d,%d", i, j);
                flag = 0;
                break;
            }
        }
        if (!flag) {
            break;
        }
    }
    if (flag) {
        printf("对称");
    }
    getchar();
}
 
 
//方法二:一个循环,菜鸟也疯狂
void main2() {
 
    int a[N][N] =
    {
        { 1,2,3,2,1 },
        { 1,2,3,2,1 },
        { 1,2,3,2,1 },
        { 1,2,3,2,1 },
        { 1,2,3,2,1 }
    };
    int flag = 1;
 
    for (int i = 0; i < N*N; i++) {
        if (i % N <= N/2) {
            if (a[i / N][i%N] != a[i / N][N-1-i%N]) {
                flag = 0;
                break;
            }
        }
    }
 
    if (flag) {
        printf("对称");
    }
    getchar();
}

 

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632