算法提高 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. vs2010 javascript代码拓展插件支持代码折叠

    参考地址

  2. HDUOJ-------1753大明A+B(大数之小数加法)

    大明A+B Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submi ...

  3. java 快速求素数

    package test ; import java.util.Scanner ; public class hello { public static void main(String [] arg ...

  4. HDUOJ ----1709

    The Balance Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  5. HDUOJ---A + B Again

    A + B Again Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  6. 马老师 linux必备web服务入门及高级进阶

    http://edu.51cto.com/course/course_id-866.html HTTP: HyperText Transfer Protocol 超文本传输协议 超链接: Web: h ...

  7. RHCE7 管理II-3使用VIM编辑器

    vim的不同版本: 1.vim-minial 提供vi和相关命令.在RHEL 7的最小安装中 2.vim-enhanced 提供vim命令.提供语法突出显示.文件类型插件和拼写检查等功能 3.vim- ...

  8. VS2010中遇到_WIN32_WINNT not defined

    VS2010中编程时遇到这个问题 _WIN32_WINNT not defined. Defaulting to _WIN32_WINNT_MAXVER (see WinSDKVer.h) 解决办法: ...

  9. nginx实战七

    Nginx优化-配置参数优化上 https://coding.net/u/aminglinux/p/nginx/git/blob/master/optimize/nginx_opt.md Nginx作 ...

  10. 定时器quartz工具类

    一.gradle配置 // https://mvnrepository.com/artifact/org.quartz-scheduler/quartz compile group: 'org.qua ...