算法提高 9-1九宫格  
时间限制:1.0s   内存限制:256.0MB
    
问题描述
  九宫格。输入1-9这9个数字的一种任意排序,构成3*3二维数组。如果每行、每列以及对角线之和都相等,打印1。否则打印0。
样例输出
与上面的样例输入对应的输出。
例:
数据规模和约定
  输入1-9这9个数字的一种任意排序。
方案一: 
 #include<stdio.h>
int main(){
/*定义二维数组,并赋初值为0*/
int a[][];
/*录入A[m][s]*/
for(int i=;i<;i++){
for(int j=;j<;j++){
scanf("%d",&a[i][j]);
}
}
// /*打印A[m][s]*/
// for(int i=0;i<3;i++){
// for(int j=0;j<3;j++){
// printf("%d ",a[i][j]);
// }
// printf("\n");
// }
int row1=,row2=,row3=,pol1=,pol2=,pol3=,Xie1=,Xie2=;
row1 = a[][]+a[][]+a[][];
row2 = a[][]+a[][]+a[][];
row3 = a[][]+a[][]+a[][]; pol1 = a[][]+a[][]+a[][];
pol2 = a[][]+a[][]+a[][];
pol3 = a[][]+a[][]+a[][]; Xie1 = a[][]+a[][]+a[][];
Xie2 = a[][]+a[][]+a[][];
// printf("%d, %d, %d, %d, %d, %d, %d, %d\n",row1,row2,row3,pol1,pol2,pol3,Xie1,Xie2);
for(int i=;i<;i++){
if(row1 == row2 == row3 == pol1 == pol2 == pol3 == Xie1 == Xie2){
printf("");
break;
}else{
printf("");
break;
}
}
}

方案二:

 #include<stdio.h>
int main(){
int sum=,k=;
int s[]={};//结果数组,并赋初值为0
/*定义二维数组*/
int a[][];
int i,j;
/*录入A[m][s]*/
for(i=;i<;i++){
sum=;//每输入一行时sum置为0
for(j=;j<;j++){
scanf("%d",&a[i][j]);
sum = sum+a[i][j];
}
s[k++] = sum;//每行的和 ,这个比较好理解
} for(sum=,i=;i<;i++){
sum=;
for(j=;j<;j++){
sum+=a[j][i];
}
s[k++] = sum;//每列的和 ,联想矩阵转置,也好理解
} for(sum=,i=;i<;i++)
sum+=a[i][i];
s[k++] = sum;//主对角线元素和 s[k++] = a[][]+a[][]+a[][];//副对角线元素和 //类似于选择排序的遍历
bool flag=true;
for(i=;i<k-;i++){
for(j=i+;j<k;j++){
if(s[i] != s[j]){
flag=false;//不相等则flag为假
}
}
}
if(flag)//若flag真
printf("");
else
printf("");
return ;
}
 

C语言 · 9-1九宫格的更多相关文章

  1. C语言:九宫格改进

    #include <stdio.h> /* 如下排列表示 A00 A01 A02 A10 A11 A12 A20 A21 A22 */ unsigned char array[3][3] ...

  2. C语言:九宫格

    #include <stdio.h> /* 如下排列表示 A00 A01 A02 A10 A11 A12 A20 A21 A22 */ int main() { unsigned char ...

  3. Swift 简简单单实现手机九宫格手势密码解锁

    原文:Swift 简简单单实现手机九宫格手势密码解锁 大家可以看到我之前的文章[HTML5 Canvas简简单单实现手机九宫格手势密码解锁] 本文是使用苹果语言对其进行了移植 颜色配色是拾取的支付宝的 ...

  4. 算法笔记_199:第二届蓝桥杯软件类决赛真题(C语言本科)

    前言:以下代码部分仅供参考,C语言解答部分全部来自网友,Java语言部分部分参考自网友,对于答案的正确性不能完全保证. 试题1 数论中有著名的四方定理:所有自然数至多只要用四个数的平方和就可以表示. ...

  5. C/C++编程笔记:C语言打造中国象棋游戏,项目源代码分享!

    中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史.由于用具简单,趣味性强,成为流行极为广泛的棋艺活动. 它是中国棋文化,也是中华民族的文化瑰宝,它源远流长,趣味浓厚,基本规 ...

  6. 好你个C语言,原来还有这么多副面孔!

    C语言可以这样比喻,是一门非常强大的内功心法,学会它可以做到一法通万法.这也是它至今不衰的原因.说了这么多C语言的优点,现在来说说它的缺点.C语言最大的优点也是它最大的缺点,拥有强大的力量时应时刻保持 ...

  7. C语言 · 高精度加法

    问题描述 输入两个整数a和b,输出这两个整数的和.a和b都不超过100位. 算法描述 由于a和b都比较大,所以不能直接使用语言中的标准数据类型来存储.对于这种问题,一般使用数组来处理. 定义一个数组A ...

  8. Windows server 2012 添加中文语言包(英文转为中文)(离线)

    Windows server 2012 添加中文语言包(英文转为中文)(离线) 相关资料: 公司环境:亚马孙aws虚拟机 英文版Windows2012 中文SQL Server2012安装包,需要安装 ...

  9. iOS开发系列--Swift语言

    概述 Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在 ...

随机推荐

  1. 用zd1211+Ubuntu 10.04实现的AP

    [日期:2010-06-24]   zd1211 在Ubuntu 10.04 LTS上的master mode 的问题解决之后,理论上就可以把zd1211 USB网卡用来做一个AP了,实际上还有几个问 ...

  2. 老毛桃pe装机工具一键还原系统

    系统崩溃后,很多菜鸟朋友会六神无主,不知接下来怎么办.如果是老手,已经屡见不鲜了,因为只需一键还原系统就可以恢复到原来的工作状态.下面不妨跟小编一起继续看看怎么一键还原系统.  ①制作一个老毛桃win ...

  3. HDUOJ----2512一卡通大冒险

    一卡通大冒险 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  4. 使用springboot遇到的的异常

    Unregistering JMX-exposed beans on shutdown <dependency> <groupId>org.springframework.bo ...

  5. jQuery DataTables的简单实现

    DataTables是一个jQuery的表格插件.这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格. 主要特点: 1.自动分页处理 2.即时表格数据过滤 3.数 ...

  6. 【LeetCode】114. Distinct Subsequences

    Distinct Subsequences Given a string S and a string T, count the number of distinct subsequences of  ...

  7. [MFC]图形附加alpha透明通道

    改动图形而且附加透明通道: 要附加透明度,能够要把图片转化为32位png图片,然后设置对应的alpha值: 1.      怎样把一张图片改动为32位的Png: a)        读取原图片颜色信息 ...

  8. navicat 快速复制表所有字段

    查询-新建查询-查询创建工具-选择表-全选字段-查询编辑器

  9. eclipse软件与git配合使用创建git仓库

    一.在eclipse上安装git,和安装其他插件一样 help->Install new software->add... 在弹出框中输入name:git,location:http:// ...

  10. intellij IDEA开发node.js

    现在网上好像关于IDEA开发node.js的讲解不是太多,今天试了一下,竟然成功了.... 1.安装nodejs http://nodejs.org/download/  自动根据系统下载自己的版本n ...