拉丁方阵 课程设计Word文档下载推荐.docx

上传人:b****4 文档编号:17837874 上传时间:2022-12-11 格式:DOCX 页数:18 大小:42.98KB
下载 相关 举报
拉丁方阵 课程设计Word文档下载推荐.docx_第1页
第1页 / 共18页
拉丁方阵 课程设计Word文档下载推荐.docx_第2页
第2页 / 共18页
拉丁方阵 课程设计Word文档下载推荐.docx_第3页
第3页 / 共18页
拉丁方阵 课程设计Word文档下载推荐.docx_第4页
第4页 / 共18页
拉丁方阵 课程设计Word文档下载推荐.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

拉丁方阵 课程设计Word文档下载推荐.docx

《拉丁方阵 课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《拉丁方阵 课程设计Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。

拉丁方阵 课程设计Word文档下载推荐.docx

213

132

123

212

输入样例2

5

43521

54132

15243

21354

32415

231

312

0

输出样例

1

输入格式:

输入包含多组数据。

每组数据第一行为正整数n,表示方阵的大小。

其后n行,每行有n个1到n之间的整数,整数之间恰有一个空格,表示方阵的内容。

输入保证1≤n≤100,输入以n=0结束,不要处理这个数据。

输出格式:

每组数据对应于一行输出。

如果输入是拉丁方阵,但不是标准型则输出1;

如果输入是标准型则输出2;

如果输入不是拉丁方阵则输出0

二.问题分析

本程序要求编写一个程序读入一个方阵,判断其是否为拉丁方阵,如果输入是拉丁方阵,但不是标准型则输出1;

如果输入不是拉丁方阵则输出0。

完成这些功能需要定义一个长度为n的数组边长,然后定义一个100行100列的数组用来存放矩阵。

1.数据的输入形式和输入值的范围:

输入保证1≤n≤100,且都为整形。

2.结果的输出形式:

整形,如果输入是拉丁方阵,但不是标准型则输出1;

如果输入不是拉丁方阵则输出0

3.测试数据:

三.概要设计

1)为了实现上述功能,需要:

将方阵保存在100行100列的数组中。

判断方阵类型,第一行和第一列是否有序,每行每列是否有重复的数据,数组是否越界超过n。

判断每行的元素是否在第一行中和每列的元素是否在第一列中。

2)本函数包含的函数

Voidmain()

四.详细设计

1)定义item=0作为函数的while循环的条件,定义一个行100、列100数组。

2)给方阵添加数据

for(i=0;

i<

n;

i++)

for(j=0;

j<

j++)

scanf("

%d"

&

a[i][j]);

3)输出方阵

printf("

输出矩阵\n"

);

for(i=0;

i++){

printf("

\n"

%d"

a[i][j]);

}

4)判断行、列相等

//判断列相等

for(i=0;

{

for(j=i;

{

for(k=j+1;

k<

n-1;

k++)

if(a[i][j]==a[i][k])

{flag1=0;

break;

if(flag1==0)break;

}

if(flag1==0)break;

}

//判断列相等

if(a[j][i]==a[k][i])

if(flag1==0)break;

5)判断有序

i++)//第一行有序

if(a[0][i]>

=a[0][i+1])

{flag2=0;

for(j=0;

j++)//第一列有序

if(a[j][0]>

=a[j+1][0])

6)输出判断的方阵类型

输出方阵的类型\n"

if(flag1==1&

&

flag2==1&

flag3==1)

2\n"

flag3==1&

flag2==0)

1\n"

if(flag1==0||flag3==0)

0\n"

继续输入0否则1\n"

scanf("

item);

附录:

源程序

#include<

stdio.h>

stdlib.h>

voidmain()

{

intitem=0;

while(item==0)

{

0:

不是拉丁方阵\n"

1:

拉丁方阵\n"

2:

标准拉丁方阵\n"

intn,i,j,k,flag1=1,flag2=1,flag3=1;

inta[100][100];

printf("

请输入方阵的边长:

//输入方阵边长

scanf("

n);

请输入方阵中的%d个数据\n"

n*n);

i++)//给方阵添加数据

i++){//输出方阵

//判断行相等

//判断有序

//每行元素都在第一行元素中

for(i=1;

for(j=0;

for(k=0;

if(a[i][j]==a[0][k])

break;

if(k==n){flag3=0;

break;

if(flag3==0)break;

//每列元素都在第一行元素中

if(a[j][i]==a[0][k])

//判断输出方阵类型

}

五.测试结果及调试分析

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 小学教育

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1