C语言程序课程设计报告

上传人:博****1 文档编号:563706619 上传时间:2023-04-19 格式:DOC 页数:9 大小:34KB
返回 下载 相关 举报
C语言程序课程设计报告_第1页
第1页 / 共9页
C语言程序课程设计报告_第2页
第2页 / 共9页
C语言程序课程设计报告_第3页
第3页 / 共9页
C语言程序课程设计报告_第4页
第4页 / 共9页
C语言程序课程设计报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《C语言程序课程设计报告》由会员分享,可在线阅读,更多相关《C语言程序课程设计报告(9页珍藏版)》请在金锄头文库上搜索。

1、-自动化与电气工程学院C语言程序课程设计报告班 级学 号姓 名指导教师设计时间 2021.07指导教师评语:成 绩 . z-1. 设计目的及要求1.设计目的:进一步培养学生构造化程序设计的思想,加深对高级语言根本语言要素和控制构造的理解,针对C语言中的重点和难点容进展训练,独立完成有一定工作量的程序设计任务,同时强调好的程序设计风格。2.设计要求:课程设计题目第一类为程序改错题目,要求了解函数调用的方法,并且能培养出程序纠错能力,对于程序中出现的根本问题有了解。两道改错题都为函数调用问题,第一道要求知道void为空函数,不能有返回值;程序开头必须有*include编译预处理指令。第二道为二维数

2、组题,要求知道二维函数初始化应注意的问题等。第二类为技巧性强的根底要求题目,要求会用for函数解题,并且弄清循环次数及定义的变量类型等问题。第三类为综合题目。完成的课程设计报告要求有问题描述,设计思路及关键注释,编程题要求用函数调用来完成,并且要求要有问题分析及解决方案,程序设计源代码,及调试过程中遇到的主要问题,是如何解决的,对设计和编码的回忆讨论和分析;改进设想;经历和体会等。2. 程序改错2.1 题目要求给定程序中fun函数的功能是:利用折半查找算法查找整数m在数组中的位置。假设找到,则返回其下标值,反之,返回1。void fun(int a, int m)int low=0,high=

3、N-1,mid; while(low=high) mid=(low+high)/2; if(m amid) low=mid+1; else return(mid); return(-1);main()int i,aN=-3,4,7,9,13,45,67,89,100,180 ,k,m; printf(a数组中的数据如下:); for(i=0;i=0) printf(m=%d,inde*=%dn,m,k); else printf(Not be found!n);2.2 错误分析void fun(int a, int m) -没有*include,导致不能正常输入输出,int low=0,hig

4、h=N-1,mid; 没有定义N,将void函数改为int函数 while(low=high) mid=(low+high)/2; if(m amid) -else if的if应该小写 low=mid+1; else return(mid); return(-1);main()int i,aN=-3,4,7,9,13,45,67,89,100,180 ,k,m; printf(a数组中的数据如下:); for(i=0;i=0) printf(m=%d,inde*=%dn,m,k); else printf(Not be found!n);错误点:1.程序开头没有*include编译预处理指令,

5、导致不能正常输入输出;应改为*include 2.程序开头没有定义N;应改为*define N 103.将void函数改为int函数,void为空函数不能有返回值。4.else If应改为eles if,if不能为大写。2.3 改正后的程序*include*define N 10 int fun(int a,int m)int low=0,high=N-1,mid; while(low=high) mid=(low+high)/2; if(mamid) low=mid+1; elsereturn(mid); return(-1); main()int i,aN=-3,4,7,9,13,45,6

6、7,89,100,180,k,m; printf(a数组中的数据如下:); for(i=0;i=0) printf(m=%d,inde*=%dn,m,k); else printf(Not be found!n);2.4 运行结果2.5 题目要求给定程序中fun函数的功能是:输出M行M列的整数方阵,然后求两条对角线上的元素之和,返回此和数。*include *define M 5int fun(int n, int *)int i, j, sum=0; printf(nThe %d * %d matri*:n, M, M); for(i = 0; i M; i+) for(j = 0; j M

7、; j+) printf(%f , *ij); printf(n); for(i = 0 ; i n ; i+) sum += *ii+*in-i-1; return(sum);main()int aaMM=1,2,3,4,5,4,3,2,1,0,6,7,8,9,0, 9,8,7,6,5,3,4,5,6,7; printf (nThe sum of all elements on 2 diagnals is %d.,fun(M, aa);2.6 错误分析*include *define M 5int fun(int n, int *) -定义数组时对第1维的长度可以int i, j, sum=

8、0; 不指定,但第2维的长度不能省 printf(nThe %d * %d matri*:n, M, M); for(i = 0; i M; i+) for(j = 0; j M; j+) printf(%f , *ij); -输出的数组为整型数 printf(n); for(i = 0 ; i n ; i+) sum += *ii+*in-i-1; return(sum);main()int aaMM=1,2,3,4,5,4,3,2,1,0,6,7,8,9,0, 9,8,7,6,5,3,4,5,6,7; printf (nThe sum of all elements on 2 diagna

9、ls is %d.,fun(M, aa);错误点:1.定义数组时对第1维的长度可以不指定,但第2维的长度不能省。应改为int *M。2.输出的数组为整型数。应改为“%d。2.7 改正后的程序*include *define M 5int fun(int n, int *M)int i, j, sum=0; printf(nThe %d * %d matri*:n, M, M); for(i = 0; i M; i+) for(j = 0; j M; j+) printf(%d , *ij); printf(n); for(i = 0 ; i n ; i+) sum += *ii+*in-i-1

10、; return(sum);main()int aaMM=1,2,3,4,5,4,3,2,1,0,6,7,8,9,0, 9,8,7,6,5,3,4,5,6,7; printf (nThe sum of all elements on 2 diagnals is %d.,fun(M, aa);2.8 运行结果3. 根本编程题一3.1 题目要求一球从50米的高度下落,每次落地后反跳回原来高度的2/3;在落下,求它在第10次落地时,共经过多少米.第10次反弹多高.3.2 程序分析因为要求第10次落地时经过的米数,因此用for循环解题。首先定义第一次下落后反跳高度H和共经过的米数sumH,再定义整型变

11、量i。用for循环求10次后反跳高度,因为每次反跳回原高度的2/3,所以定义H=H*2/3;因为共用的米数为之前米数之和加此次反弹高度的两倍,所以sumH=sumH+H*2,循环后输出共用的米数和反弹高度。3.3 流程图3.4 源程序*includeint main()float H=50.0*2/3, sumH=50.0; /定义H,sumH初值为单精度浮点型int i; /定义i为整型变量for(i=1;i10;i+) /已定义第一次反跳为H,所以只需循环9次 H=H*2/3; sumH+=H*2; printf(共经过 %fmn,sumH);printf(第10次反弹 %fmn,H);return 0;3.5 运行结果4. 根本编程题二4.1 题目要求m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回。例如,当score 数组中的数据为:10、20、30、40、50、60、70、80、90、时,函数返回的人数应该是4,below中的数据应为:10、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号