蓝桥杯 算法提高 九宫格

本文介绍了一种通过编程判断3x3九宫格中,由1-9数字组成的每行、每列及对角线之和是否相等的方法。使用了C++语言,通过双重循环实现了对九宫格每行、每列及对角线的求和,并比较这些和是否相等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述
  九宫格。输入1-9这9个数字的一种任意排序,构成3*3二维数组。如果每行、每列以及对角线之和都相等,打印1。否则打印0。

思路:本题最直接的想法就是把所有结果算出来,共八个,我用了两个for循环,解决了求解其中六个结果。

代码:
#include<stdio.h>
#include
#include<string.h>
using namespace std;

int main(){
int sum=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0,sum6=0,sum7,sum8;
int a[20][20];
memset(a,0,sizeof(a));
int i,j,k;
for(i=1;i<=3;i++){
for(j=1;j<=3;j++)
cin>>a[i][j];
}

 for(i=1;i<4;i++){
 	for(j=1;j<4;j++){
	    if(i==1)
 		sum1+=a[i][j];
	    else if(i==2)	
		sum2+=a[i][j];
		else
		sum3+=a[i][j];	
	 }			 
 }
 for(i=1;i<4;i++){
	for(j=1;j<4;j++)
	{if(i==1)
 		sum4+=a[j][i];
	    else if(i==2)	
		sum5+=a[j][i];
		else
		sum6+=a[j][i];
	 }			 
 }
 sum7=a[1][1]+a[2][2]+a[3][3];
 sum8=a[1][3]+a[2][2]+a[3][1];
 if(sum1==sum2&&sum2==sum3&&sum3==sum4&&sum4==sum5&sum5==sum6&&sum6==sum7&&sum7==sum8)
 cout<<1;
 else
 cout<<0;
 
 
 
return 0;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值