PAGE
课程设计(论文)
题 目 名 称 矩形问题
课 程 名 称 C语言程序课程设计
学 生 姓 名 龙正彬
学 号 1441303035
系 、专 业 信息工程系、通信工程
指 导 教 师 刘远军 目 录 TOC \o "1-2" \h \z \u
1 前言2
2 需求分析2
2.1 课程设计目的2
2.2 课程设计任务2
2.3 设计环境2
2.4 开发语言2
3 分析和设计3
3.1 模块设计3
3.2 系统流程图3
3.3 主要模块的流程图4
4 具体代码实现5
5 课程设计总结6
5.1 程序运行结果 / 预期运行结果7
5.2 课程设计体会8
参考文献9
致 谢7
1 前言
???C语言作为一门最通用的语言,在过去很流行,将来依然会如此。几乎每一个理工科或者其他专业的学生毫不例外地要学习它。记得大学里,很多学校都把谭浩强教授的《C语言设计》作为入门教材,这是绝佳的选择。然而,要更进一步,更全面而深入地学习呢?显然有点力不从心。本书正是为了弥补这个缺憾而写的,希望能对想比较全面而深入学习C语言程序设计的人有所帮助。从C语言产生到现在,它已经成为最重要和最流行的编程语言之一。在各种流行编程语言中,都能看到C语言的影子,如Java的语法与C语言基本相同。学习、掌握C语言是每一个计算机技术人员的基本功之一。
2 需求分析
2.1 课程设计目的
学生在教师指导下运用所学课程的知识来研究、解决一些具有一定综合性问题的专业课题。通过课程设计(论文),提高学生综合运用所学知识来解决实际问题、使用文献资料、及进行科学实验或技术设计的初步能力,为毕业设计(论文)打基础。
2.2 课程设计任务
已知一个5×5矩阵,用函数实现:(1)找出该矩阵中的鞍点,“鞍点”指的是一个位置,该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点。(2)将矩阵中最大的元素放在中心,四个角分别放四个最小的元素(按从左到右,从上到下顺序依次从小到大存放)。
2.3 设计环境
(1)WINDOWS 2000/2003/XP/7/Vista系统
(2)Visual C++或TC集成开发环境
2.4 开发语言
C语言
3 分析和设计
3.1 模块设计
(1)定义一个二维数组a[5][5]存放一个矩阵,用for循环输入25个数据到a[5][5]。
(2)定义一个f()函数用来查找矩阵中的鞍点,存放到a[N][M]数组中,应用flag标识变量,并用maxj存放某行中最大数组元素的列下标,若有鞍点则输出鞍点的位置和值,否则输出没有鞍点。
(3)定义一个fun()用来查找矩阵中的最大数和4个最小数,存放到b[5]数组中,b[0]存放最大值放到5*5列表的最中间,即a[2][2],b[1]存放第一小数放到左上角,b[2]存放第二小数放到右上角,b[3]存放第三小数放到左下角,b[4]存放第四小数,放到右下角。
3.2 系统流程图
开始
开始
调用f()函数求鞍点
调用fun()函数求最大最小数
结束
图3.1 系统流程图
3.3 主要模块的流程图
i=0i
i=0
i
max=a[i][0]
i=0
j
max=a[i][j]
j++
min=max
k=0
② ① ② ③
k
k
break
k++
flag=1
k==N
i++
flag!=1
输出没有鞍点
图 3.3 f()函数流程图2
i=0;max=a[0][0];k=l=0i<5?
i=0;max=a[0][0];k=l=0
i<5?
j=0
a[i][j]>max
max=a[i][j] ;k=i ;l=j
j++
i++
交换a[k][l]与a[2][2]
j<5?
④
图3.4 fun()函数流程图1
④
i=0i<5
i=0
i<5
j=0
j<5
min>a[i][j]
j++
i++
min=a[i][j] ; k=i ; l=j
交换a[k][l]与a[2][2]
⑤
图3.5 fun()函数流程图2
i<5min=a[i][j]
i<5
min=a[i][j]
k=i l=j