利用C语言在二维数组中寻找回文序列

   2024-10-20 6800
核心提示:下面是一个示例C程序,用来在一个二维数组中寻找回文序列:#include stdio.h#include stdbool.h#define ROWS 4#define COLS 4boo

下面是一个示例C程序,用来在一个二维数组中寻找回文序列:

#include <stdio.h>#include <stdbool.h>#define ROWS 4#define COLS 4bool isPalindrome(int arr[], int size) {    int i, j;    for (i = 0, j = size - 1; i < j; i++, j--) {        if (arr[i] != arr[j]) {            return false;        }    }    return true;}int main() {    int arr[ROWS][COLS] = {        {1, 2, 3, 4},        {5, 6, 7, 8},        {3, 7, 9, 3},        {4, 3, 2, 1}    };        int i, j;        for (i = 0; i < ROWS; i++) {        for (j = 0; j < COLS; j++) {            int row[COLS], col[ROWS];                        // Get row values            for (int k = 0; k < COLS; k++) {                row[k] = arr[i][k];            }                        // Get column values            for (int k = 0; k < ROWS; k++) {                col[k] = arr[k][j];            }                        // Check if row or column is palindrome            if (isPalindrome(row, COLS)) {                printf("Palindrome found in row %d\n", i+1);            }            if (isPalindrome(col, ROWS)) {                printf("Palindrome found in column %d\n", j+1);            }        }    }        return 0;}

在这个示例程序中,我们首先定义了一个4x4的二维数组arr,并实现了一个用来判断是否回文的函数isPalindrome。然后在main函数中,我们遍历二维数组的每一行和每一列,分别将其拷贝到行数组row和列数组col中,并调用isPalindrome函数来判断是否是回文序列。如果是回文序列,则输出相应的信息。

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号