加入收藏 收藏网站 设为首页 设为首页
招生考试网
学历类| 阳光高考 研 究 生 自学考试 成人高考 专 升 本 中考会考 外语类| 四 六 级 职称英语 商务英语 公共英语 日语能力
资格类| 公 务 员 报 关 员 银行从业 司法考试 导 游 证 教师资格 财会类| 会 计 证 经 济 师 会计职称 注册会计 税 务 师
工程类| 一级建造 二级建造 造 价 师 造 价 员 咨 询 师 监 理 师 医学类| 卫生资格 执业医师 执业药师 执业护士 国际护士
计算机| 等级考试 软件水平 应用能力 其它类| 书画等级 美国高考 驾 驶 员 书法等级 少儿英语 报 检 员 单 证 员 出国留学
 招生考试网 - 计算机等级考试 - 考试辅导 - 计算机二级 - 正文

 
C语言实例:拉丁方阵
来源:fjzsksw.com 2010-3-31 编辑:zhanghaifeng 【字体:小 大】
C语言实例:拉丁方阵

 

  构造 NXN 阶的拉丁方阵(2<=N<=9),使方阵中的每一行和每一列中数字1到N只出现一次。如N=4时:

  1 2 3 4

  2 3 4 1

  3 4 1 2

  4 1 2 3

  *问题分析与算法设计

  构造拉丁方阵的方法很多,这里给出最简单的一种方法。观察给出的例子,可以发现:若将每一行中第一列的数字和最后一列的数字连起来构成一个环,则该环正好是由1到N顺序构成;对于第i行,这个环的开始数字为i。按照此规律可以很容易的写出程序。下面给出构造6阶拉丁方阵的程序。

  *程序说明与注释

  #include<stdio.h>

  #define N 6 /*确定N值*/

  int main()

  {

  int i,j,k,t;

  printf("The possble Latin Squares of order %d are:\n",N);
 for(j=0;j<N;j++) /*构造N个不同的拉丁方阵*/

  {

  for(i=0;i<N;i++)

  {

  t=(i+j)%N; /*确定该拉丁方阵第i 行的第一个元素的值*/

  for(k=0;k<N;k++) /*按照环的形式输出该行中的各个元素*/

  printf("%d",(k+t)%N+1);

  printf("\n");

  }

  printf("\n");

  }

  }

  *运行结果

  The possble Latin Squares of order 6 are:

  1 2 3 4 5 6 2 3 4 5 6 1 3 4 5 6 1 2

  2 3 4 5 6 1 3 4 5 6 1 2 4 5 6 1 2 3

  3 4 5 6 1 2 4 5 6 1 2 3 5 6 1 2 3 4

  4 5 6 1 2 3 5 6 1 2 3 4 6 1 2 3 4 5

  5 6 1 2 3 4 6 1 2 3 4 5 1 2 3 4 5 6

  6 1 2 3 4 5 1 2 3 4 5 6 2 3 4 5 6 1

  4 5 6 1 2 3 5 6 1 2 3 4 6 1 2 3 4 5

  5 6 1 2 3 4 6 1 2 3 4 5 1 2 3 4 5 6

  6 1 2 3 4 5 1 2 3 4 5 6 2 3 4 5 6 1

  1 2 3 4 5 6 2 3 4 5 6 1 3 4 5 6 1 2

  2 3 4 5 6 1 3 4 5 6 1 2 4 5 6 1 2 3

  3 4 5 6 1 2 4 5 6 1 2 3 5 6 1 2 3 4

 

 



 
网站版权与免责声明
①由于各方面情况的不断调整与变化,本网所提供的相关信息请以权威部门公布的正式信息为准.
②本网转载的文/图等稿件出于非商业性目的,如转载稿涉及版权等问题,请在两周内来电联系.
推荐文章
  • 此栏目下没有推荐文章
  • 热门文章

    报名考试
    全国 | 黑龙江 | 吉林 | 辽宁 | 内蒙古
    青海 | 宁夏 | 甘肃 | 新疆 | 陕西
    西藏 | 北京 | 天津 | 河北 | 山东
    江苏 | 安徽 | 河南 | 上海 | 浙江
    福建 | 广东 | 山西 | 湖南 | 湖北
    江西 | 广西 | 海南 | 云南 | 贵州
    四川 | 重庆
    分省高校计算机考试
    黑龙江 | 吉林 | 辽宁 | 内蒙古 | 河北
    北京 | 天津 | 新疆 | 甘肃 | 宁夏
    青海 | 陕西 | 山西 | 河南 | 山东
    江苏 | 安徽 | 浙江 | 福建 | 广东
    海南 | 广西 | 江西 | 湖北 | 湖南
    四川 | 上海 | 重庆 | 贵州 | 云南
    西藏
    成绩查询
    报考指南
    试题答案
    模拟试题
    考试辅导
    计算机一级 | 计算机二级 | 计算机三级 | 计算机四级
    经验交流
    高校计算机