建立n阶螺旋方阵高级语言程序设计 课程设计Word文档格式.docx

上传人:b****5 文档编号:19623904 上传时间:2023-01-08 格式:DOCX 页数:15 大小:187.82KB
下载 相关 举报
建立n阶螺旋方阵高级语言程序设计 课程设计Word文档格式.docx_第1页
第1页 / 共15页
建立n阶螺旋方阵高级语言程序设计 课程设计Word文档格式.docx_第2页
第2页 / 共15页
建立n阶螺旋方阵高级语言程序设计 课程设计Word文档格式.docx_第3页
第3页 / 共15页
建立n阶螺旋方阵高级语言程序设计 课程设计Word文档格式.docx_第4页
第4页 / 共15页
建立n阶螺旋方阵高级语言程序设计 课程设计Word文档格式.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

建立n阶螺旋方阵高级语言程序设计 课程设计Word文档格式.docx

《建立n阶螺旋方阵高级语言程序设计 课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《建立n阶螺旋方阵高级语言程序设计 课程设计Word文档格式.docx(15页珍藏版)》请在冰豆网上搜索。

建立n阶螺旋方阵高级语言程序设计 课程设计Word文档格式.docx

计算机科学与工程系

201X 年 9月

一、设计目的……………………………………3

二、设计内容……………………………………4

三、概要设计……………………………………5

四、详细设计……………………………………6

五、测试数据和运行结果………………………9

六、调试情况,设计技巧及体会………………12

七、参考文献……………………………………13

八、附录…………………………………………13

九、文件输入输出………………………………14

一、设计目的

1)通过课程设计加深结构化程序设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构。

2)通过课程设计进一步掌握c语言中重要的的、数据结构。

掌握并熟练运用指针、链表、结构体、文件等数据结构。

3)通过课程设计提高程序开发能力,能运用合理的控制流编写清晰高效的程序。

4)通过课程设计培养c语言知识运用和自学能力,真正的把课堂上获得的知识运用起来,培养自己对程序编写的兴趣,并能独立设计和实现一个小型系统。

5)通过课程设计,加强了自己对程序分析的能力。

6)通过课程设计,培养自己在分析程序和设计程序的能力,学会怎么将困难的题目分步处理,

7)通过课程设计,检查自己在本学期的学习成果。

二、设计内容

1、题目:

建立n阶螺旋方阵;

2、要求:

在VC6.0++编译环境下,运用C语言完成课程设计;

3、目的:

运用C语言输出螺旋方阵;

螺旋方阵,输出如下:

1234

1213145

1116156

10987

4、涉及知识点:

变量的定义,输入输出函数,if结构,for循环结构,数组,变量的自加和自减等等;

三、概要设计

1、功能模块图:

2、模块详细的功能描述。

四、详细设计

1、数据流程图

3、重点设计及编码。

#include<

stdio.h>

#defineN100

#defineM100

voidmain()

{

intn,m;

intp[N][M],i=0,j=0;

intnum=1;

intt;

scanf("

%d%d"

&

n,&

m);

for(t=0;

t<

((float)n/2);

t++)//t表示圈数

{

for(;

j<

n-t;

j++)//行数不变,方阵的值随着列数的增加而增加(1,2,3,4,5)(17,18,19)(25)

p[i][j]=num++;

j--;

i++;

i<

i++)//列数不变,方阵的值随着行数的增加而增加(6,7,8,9)(20,21)

i--;

j>

=t;

j--)//行数不变,方阵的值随着列数的减少而减少(10,11,12,13)(22,23)

j++;

i>

t;

i--)//列数不变,方阵的值随着行数的减少而减(14,15,16)(24)

}

for(i=0;

n;

i++)

for(j=0;

m;

j++)

printf("

%5d"

p[i][j]);

\n"

);

五、测试数据及运行结果

1、正常测试数据及运行结果

当N为4时,数据如下:

当N为10时,数据如下:

2、非正常测试数据及运行结果

没有按四个一行输出:

2调试情况,设计技巧及体会

1.对自己的设计进行评价,指出合理和不足之处,提出改进方案;

螺旋结构:

在我设计的螺旋方阵程序中参考了一些资料,包括网上的一些题型,然后根据我自己的先想法改的,首先我认为我的程序有一些不足之处,第一:

程序比较长,在设计过程中容易出现错误,而且出现错误后不易改动,有时候一点小错误要改好多语句;

第二:

如果运行我的程序你会发现这个程序只适用于本题,当把N改成其他数时程序输出就会有错误。

改进方案:

将几个for循环结果合并或利用调用函数的方式减少程序中的语句,使程序简介方便;

参考网上的答案修改程序使程序适用于任意一个数值。

1.对设计及调试过程的心得体会。

当看到课程设计题目时,第一感觉就是题目很繁琐,需要用到很多的知识点,总的来说,有点难。

当设计螺旋方阵时,第一想法就是按照顺序依次输出,后来想了想,这样仅适合用于简单几阶方阵,当换成其它较大阶的时候程序就会出现错误,然后就参考了一下网上的答案,看了之后有了思路再自己设计程序,尽管自己设计的程序比较长而且有局限性,但是还是很欣慰的,在这个过程中我遇到了很多以前没考虑过或没想明白的问题,如++i和i++的关系;

而在调试过程中也出现了一些情况,比如:

变量的定义类型不符;

if结果后面有多条语句;

for循环结构的“)”后面加了一个分号,虽然没语法错误却运行部出来;

以及半全角符号等一些。

心得体会:

经过一周的程序设计,基本掌握程序设计的基本方法和步骤。

而且我明白设计程序要先读懂题目的要求及目的,看懂以后才能着手去设计程序,在设计过程中必须要有一个详细的思路,学会把一个问题分成各个部分设计,一定要有自己的设计理念、设计思想,也可以说是中心思想;

而且要敢于尝试,敢于创新,参考别人的程序然后设计出含有自己理念的程序,这样才能真正的掌握程序的编程理念和设计思想,我个人认为学会分析非常的重要,将一个程序分成几步,找出重复的地方,还有循环体,这样就会使问题变得容易一些。

七、参考文献

【1】《新编C语言程序设计教程》周二强编著清华大学出版社

【2】《C语言程序设计》谭浩强编著清华大学出版社

八、附录:

源代码

voidmain()

intn,m;

intp[N][M],i=0,j=0;

intnum=1;

intt;

scanf("

for(t=0;

t++)

{

for(;

j++)

p[i][j]=num++;

j--;

i++;

i++)

i--;

j--)

j++;

i--)

}

for(i=0;

{

for(j=0;

{

printf("

}

printf("

九、文件输入输出

原代码

FILE*fin,*fout;

intnum=1;

p[i][j]=num++;

i--)//列数不变,方阵的值随着行数的减少而减少(14,15,16)(24)

fin=fopen("

in.txt"

"

r"

fout=fopen("

out.txt"

w"

fscanf(fin,"

fprintf(fout,"

fprintf(fout,"

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

当前位置:首页 > PPT模板 > 中国风

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

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