算法提高 9-1九宫格  
时间限制:1.0s   内存限制:256.0MB
    

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

方案一: 
 1 #include<stdio.h>
 2 int main(){
 3     /*定义二维数组,并赋初值为0*/
 4     int a[3][3];
 5     /*录入A[m][s]*/
 6     for(int i=0;i<3;i++){
 7         for(int j=0;j<3;j++){
 8             scanf("%d",&a[i][j]);
 9         }
10     }
11 //    /*打印A[m][s]*/
12 //    for(int i=0;i<3;i++){
13 //        for(int j=0;j<3;j++){
14 //            printf("%d ",a[i][j]);
15 //        }
16 //        printf("\n");
17 //    }
18     int row1=0,row2=0,row3=0,pol1=0,pol2=0,pol3=0,Xie1=0,Xie2=0;
19     row1 = a[0][0]+a[0][1]+a[0][2];
20     row2 = a[1][0]+a[1][1]+a[1][2];
21     row3 = a[2][0]+a[2][1]+a[2][2];
22
23     pol1 = a[0][0]+a[1][0]+a[2][0];
24     pol2 = a[0][1]+a[1][1]+a[2][1];
25     pol3 = a[0][2]+a[1][2]+a[2][2];
26
27     Xie1 = a[0][0]+a[1][1]+a[2][2];
28     Xie2 = a[0][2]+a[1][1]+a[2][0];
29 //    printf("%d, %d, %d, %d, %d, %d, %d, %d\n",row1,row2,row3,pol1,pol2,pol3,Xie1,Xie2);
30     for(int i=0;i<3;i++){
31         if(row1 == row2 == row3 == pol1 == pol2 == pol3 == Xie1 == Xie2){
32             printf("1");
33             break;
34         }else{
35             printf("0");
36             break;
37         }
38     }
39 }

方案二:

 1 #include<stdio.h>
 2 int main(){
 3     int sum=0,k=0;
 4     int s[100]={0};//结果数组,并赋初值为0
 5     /*定义二维数组*/
 6     int a[3][3];
 7     int i,j;
 8     /*录入A[m][s]*/
 9     for(i=0;i<3;i++){
10         sum=0;//每输入一行时sum置为0
11         for(j=0;j<3;j++){
12             scanf("%d",&a[i][j]);
13             sum = sum+a[i][j];
14         }
15         s[k++] = sum;//每行的和 ,这个比较好理解
16     }
17
18     for(sum=0,i=0;i<3;i++){
19         sum=0;
20         for(j=0;j<3;j++){
21             sum+=a[j][i];
22         }
23         s[k++] = sum;//每列的和 ,联想矩阵转置,也好理解
24     }
25
26     for(sum=0,i=0;i<3;i++)
27         sum+=a[i][i];
28     s[k++] = sum;//主对角线元素和
29
30     s[k++] = a[0][2]+a[1][1]+a[2][0];//副对角线元素和
31
32     //类似于选择排序的遍历
33     bool flag=true;
34     for(i=0;i<k-1;i++){
35         for(j=i+1;j<k;j++){
36             if(s[i] != s[j]){
37                 flag=false;//不相等则flag为假
38             }
39         }
40     }
41     if(flag)//若flag真
42         printf("1");
43     else
44         printf("0");
45     return 0;
46 }

C语言 · 9-1九宫格相关推荐

  1. 九宫锁屏图案有多少种c语言编程,手机九宫格图案解锁问题,编程高手戳进来!...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 数学吧里看到的一个有趣问题,题目描述很简单: 求手机九宫格图案解锁一共有多少种答案.规则大家应该都知道,至少连四个点,最多连九个点,一条直线上的三个点只有 ...

  2. 徐松亮算法教学-基于C语言的数独(九宫格)求解(含多解和解数统计)

    版权声明:本文为博主徐松亮的原创作品,未经允许不得转载,多谢支持!QQ:5387603 推荐点击此链接:欢迎进入徐松亮博客一站式导航搜索(随时更新) 目录 一,前言 二,开发环境 电脑系统 编译器 编 ...

  3. C语言回溯法九宫格数独问题

    Problem H 数独游戏 时限:1000ms 内存限制:10000K 总时限:3000ms 描述: 数独游戏规则 在9阶方阵中,包含了81个小格(九列九行),其中又再分成九个小正方形(称为宫),每 ...

  4. 用C语言计算手机的九宫格图案解锁总共能绘出多少种图案

    之前在学校的一个社团招募大一新生时,给出了这个题目: 用程序编写完成九宫格图案解锁总共能绘出多少种图案 需要满足的要求有: 1.至少经过四个点: 2.不能重复经过同一个点: 3.路径上的中间点不能跳过 ...

  5. 基于C语言实现的自动打乱九宫格并且还原

    基于C语言实现了自动打乱九宫格并且还原 一.界面概况 界面说明界面实现的功能有:选择生成地图的方式,移动图片的方式,搜索模式,设置地图的大小,自定义编辑地图,设置最大的搜索时间,导入图片和删除图片具体 ...

  6. java数独流程图_九宫格数独游戏C语言解法

    最近几天深圳一直下雨,一个人闷在屋里很是无聊,偶然打开一个小游戏网站看到了我的最爱--九宫格数独游戏.共有1-5五个难度级别,像我这种资深玩家其他难度就不用考虑了,冲着难度5的题目就去了,结果做地汗流 ...

  7. python语言编写一个生成九宫格图片的代码_Python 生成你的朋友圈九宫格图片

    关于微信之前写过以下文章,有兴趣可以点击查看: 你可能在朋友圈看过九宫格图片(把一张图片按照比例分成九份),就像这样的: 还有微博九宫格图 https://weibo.com/2717930601/. ...

  8. python语言编写一个生成九宫格图片的代码_Python切割图片成九宫格的示例代码

    这篇文字讲述如何使用Python把一张完整的大图切割成9份小图片,制作朋友圈九宫格图文分享. 原图如下: 我们想要利用这张图制作高逼格的九宫格朋友圈分享. 达到类似于这样的效果: 实现原理非常简单,那 ...

  9. 九宫格C语言递归程序,[置顶] C语言递归实现N宫格(九宫格)源码

    刚开始做九宫格的时候,能想到的就是几个for循环,很清楚很简单,同样也比较的低级,了解递归的魅力后,在高人的指点下,原来也可以这样的实现,写到这时,让我想到了当年教我们的老师,thanx,好代码,我还 ...

  10. python语言编写一个生成九宫格图片的代码_用Python一键生成炫酷九宫格图片,火了朋友圈...

    作为一个男同胞来说,为了给女朋友拍一张美美的照片,着实需要花费很大的时间和精力,不仅仅需要从众多的图片中精心挑选,而且还需要有着超强的图片精修能力,才能得到一张张达到女友要求的图片,真心不容易啊- 朋 ...

最新文章

  1. 【注意事项】Markdown遇到的小问题
  2. java debugtrace_Debug与Trace的区别
  3. [剑指offer]面试题35:第一个只出现一次的字符
  4. P1445-[Violet]樱花【数学】
  5. linux内存机制的virt,关于linux:转载理解virt-res-shr之间的关系
  6. struts2学习笔记(一) MVC模式
  7. plsql dev中Dynamic Performance Tables not accessible分析解决(转载)
  8. Java最全思维导图知识汇总
  9. ALSA播放时杂音问题
  10. 版式设计——网页排版
  11. WEB服务器的配置与管理
  12. 深入理解设计模式-设计模式七大原则
  13. pascal voc2012数据集与主机制作数据集(目标检测篇)
  14. 计算机怎样将多行文字转换成表格,怎么把表格里的字变成两行
  15. 解决VMware虚拟机无法联网问题
  16. 视频的编码与传输过程
  17. 外行人都能看懂的SpringCloud,错过了血亏! 1
  18. Vmware虚拟化概念原理
  19. D. Very Suspicious
  20. 正向价值观和负向情商

热门文章

  1. 使用双向链表构建二叉树_python:26.二叉搜索树与双向链表
  2. Ubuntu MySQL 配置 ip binding
  3. find命令过滤 no such_Linux中find命令的用法入门
  4. c语言指针慕课,C语言-指针
  5. 修改 连接层_Mybatis连接池_动态sql语句_多表查询实现
  6. M1卡说明及使用proxmark3破解方法
  7. 浅谈智能卡加密芯片在智能设备领域的技术运用
  8. 获取对象的接口信息(方法/属性/事件)(VB6代码)
  9. Java线上排错---反编译文件
  10. 最新手机芯片AI跑分出炉:高通、联发科力压华为