欢迎来到天天文库
浏览记录
ID:50362848
大小:1.67 MB
页数:32页
时间:2020-03-08
《计算机c语言课程设计.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、中国地质大学本科生课程论文封面课程名称《计算机高级语言C》教师姓名**本科生姓名**本科生学号***********本科生专业煤及煤层气工程所在院系资源学院类别:课程论文日期:2012-11-17目录技术文档-3-问题1-3-问题2-3-问题3-3-问题4-3-问题5-3-问题6-3-问题7-3-问题8-3-问题9-3-问题10-3-问题11-3-程序清单-3-问题1-3-问题2-3-问题3-3-问题4-3-问题5-3-问题6-3-问题7-3-问题8-3-问题9-3-问题10-3-问题11-3-测试及运行结果-3-问题1-3-问题2-3-问题3-3-问题4-3-问题5-3-
2、问题6-3-问题7-3-问题8-3-用户文档-3-实习体会-3-致谢-3-参考文献-3-【技术文档】问题1问题描述打印以下类似矩阵(当改变N的值时,可以打出类似矩阵):16111621271217223813182349141924510152025问题分析可以观察到矩阵排列的规律:1.首先看行:后一个数字总是比起那一个数字大5,而矩阵确是5行5列的方型矩阵;2.再来看列:每一列总是比前一个列大1,即没列增加1。3.由此,再来看问题的通用性:我们可以打印一个N行N列的矩阵,每一行的后一个数总是比前一个数大N。这样一来,我们就可以写出一个通过宏定义的方式来改变N的值,从而达到
3、问题的通用性。总体设计1.通过for循环来控制循环N行,在每一行,再用一个for循环来控制循环N列。2.第i行中,第t列的数的大小为N*i+t+1,这样,每一行的数就算出来了。3.最后,用一个for循环里嵌套另一个for循环,分别循环N次可以将矩阵打出,当第一个循环里面,完成一次循环时转行,从而可以形成矩阵。详细设计预处理N定义数组和变量i4、724231231825221141920211056789问题分析首先这是一个N*N型的矩阵,然后,可以观察出矩阵的循环次数为N2次,当N为奇数时,再多循环一次,而且,每一个矩形中,分为四次循环,其中左下角的列和行作为一次,右上角的列和行作为一次循环,最后打印即可。总体设计1.定义一个N*N型的矩阵。2.确定循环的次数。3.开始做循环。第t次循环中的首数总是一个等差数列的前t项之和再加1,这个等差数列的前t项之和为(4*N-4*t)*t,而下面的行和列又比前一项的行和列多N-2*t-1,随着循环的渐进,每多一次循环,后一个数就比前一个数多1,这样再通过一个每做完一次大循5、环就初始化为1,而每做一次小循环就增加1,这样就可以实现循环。定义一个矩阵和变量4.最后将矩阵打印。详细设计确定循环次数n结束打印矩阵tt问题3问题描述打印杨辉三角(当改变宏定义中的N的值的时候可以输出不同行的杨辉三角),杨辉三角如图:111121133114641问题分析可以由杨辉三角的定义,来轻松导出对于三角的算法由图可以看出:等腰三角形的两个腰都是1,从第三行开始,中间叉开的一个数,总是等于6、上面两个数的和,由此,可以得出是算法。:总体设计1.首先确定所需要的数组的大小;2.将三角形的两条腰全部都赋值为一;3.然后将第三行的每一个数的值赋值为上一行两个数的和;4.将所得矩阵打印:第t行打印t+1个数。详细设计确定数组为[N][N]型矩阵定义变量I=0;i7、描述1222333332221问题分析可以看出,所需要的矩阵为一个方形矩阵,再矩阵的上半部分为一个正列的三角形,而在矩阵的下半部分为一个倒立的三角形,而空的部分可以打印空格来弥补。而在控制循环的同时就可以将所需要的矩阵同时打印出。总体设计1.确定所需要的矩阵的大小为[2*N-1][2*N-1],并定义所需要的变量;2.使用for循环来控制上面三角形的数,同时控制所需要的空格的数量;3.使用for循环来控制下面三角形的数,同时控制所需要的空格的数量;4.程序结束。结束printf("")a[2*N-1][2*N-1]
4、724231231825221141920211056789问题分析首先这是一个N*N型的矩阵,然后,可以观察出矩阵的循环次数为N2次,当N为奇数时,再多循环一次,而且,每一个矩形中,分为四次循环,其中左下角的列和行作为一次,右上角的列和行作为一次循环,最后打印即可。总体设计1.定义一个N*N型的矩阵。2.确定循环的次数。3.开始做循环。第t次循环中的首数总是一个等差数列的前t项之和再加1,这个等差数列的前t项之和为(4*N-4*t)*t,而下面的行和列又比前一项的行和列多N-2*t-1,随着循环的渐进,每多一次循环,后一个数就比前一个数多1,这样再通过一个每做完一次大循
5、环就初始化为1,而每做一次小循环就增加1,这样就可以实现循环。定义一个矩阵和变量4.最后将矩阵打印。详细设计确定循环次数n结束打印矩阵tt问题3问题描述打印杨辉三角(当改变宏定义中的N的值的时候可以输出不同行的杨辉三角),杨辉三角如图:111121133114641问题分析可以由杨辉三角的定义,来轻松导出对于三角的算法由图可以看出:等腰三角形的两个腰都是1,从第三行开始,中间叉开的一个数,总是等于
6、上面两个数的和,由此,可以得出是算法。:总体设计1.首先确定所需要的数组的大小;2.将三角形的两条腰全部都赋值为一;3.然后将第三行的每一个数的值赋值为上一行两个数的和;4.将所得矩阵打印:第t行打印t+1个数。详细设计确定数组为[N][N]型矩阵定义变量I=0;i7、描述1222333332221问题分析可以看出,所需要的矩阵为一个方形矩阵,再矩阵的上半部分为一个正列的三角形,而在矩阵的下半部分为一个倒立的三角形,而空的部分可以打印空格来弥补。而在控制循环的同时就可以将所需要的矩阵同时打印出。总体设计1.确定所需要的矩阵的大小为[2*N-1][2*N-1],并定义所需要的变量;2.使用for循环来控制上面三角形的数,同时控制所需要的空格的数量;3.使用for循环来控制下面三角形的数,同时控制所需要的空格的数量;4.程序结束。结束printf("")a[2*N-1][2*N-1]
7、描述1222333332221问题分析可以看出,所需要的矩阵为一个方形矩阵,再矩阵的上半部分为一个正列的三角形,而在矩阵的下半部分为一个倒立的三角形,而空的部分可以打印空格来弥补。而在控制循环的同时就可以将所需要的矩阵同时打印出。总体设计1.确定所需要的矩阵的大小为[2*N-1][2*N-1],并定义所需要的变量;2.使用for循环来控制上面三角形的数,同时控制所需要的空格的数量;3.使用for循环来控制下面三角形的数,同时控制所需要的空格的数量;4.程序结束。结束printf("")a[2*N-1][2*N-1]
此文档下载收益归作者所有