包含数组,循环结构和选择分支结构
必须包含顺序结构、选择分支结构、循环结构
必须包含数组 必须包含一个以上的函数
可以包含指针
#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