算法提高 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. Coding.net+Myeclipse 2014 Git配置

    安装Git,然后 $ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # Creates a new ssh key, u ...

  2. Makefile 中:= ?= += =的区别【转】

    转自:http://www.cnblogs.com/wanqieddy/archive/2011/09/21/2184257.html 在Makefile中我们经常看到 = := ?= +=这几个赋值 ...

  3. HDUOJ ---1269迷宫城堡

    http://acm.hdu.edu.cn/showproblem.php?pid=1269 迷宫城堡 Time Limit: 2000/1000 MS (Java/Others)    Memory ...

  4. ADF_ADF Framework基本概念(概念)

    2014-01-01 Created By BaoXinjian

  5. DBA_实践指南系列4_Oracle Erp R12系统备份和恢复Backup(案例)

    2013-12-04 Created By BaoXinjian

  6. 更改Android应用程序的图标

    对于android应用程序的开发.默认的图标是一个小机器人,图片名称为ic_launcher.png. 可是,大多数开发人员是会将这个图标在开发过程中改为自己设计的icon. 把apk图标更改为自己设 ...

  7. scikit-learn 入门

    简介: scikit-learn是一个基于NumPy.SciPy.Matplotlib的开源机器学习工具包.採用Python语言编写.主要涵盖分类. 回归和聚类等算法,比如knn.SVM.逻辑回归.朴 ...

  8. python标准库介绍——3 stat 模块详解

    == stat 模块 == [Example 1-50 #eg-1-50] 展示了 ``stat`` 模块的基本用法, 这个模块包含了一些 ``os.stat`` 函数中可用的常量和测试函数. === ...

  9. Windows中将javac和java两个命令集成到UltraEdit工具栏

    1. 目的 将javac和java两个命令集成到UltraEdit工具栏,以方便在UltraEdit中编辑简单的java文件后,能够直接进行编译,运行. 2. 环境 UrtalEdit版本18.20: ...

  10. [svc][op]Ubuntu优化-服务管理(启动级别)

    一 修改Ubuntu启动级别 sudo apt-get install sysv-rc-conf 执行: sysv-rc-conf 打x的表示开机启动. 二 启动级别 Ubuntu默认启动级别为2 r ...