您好,欢迎访问三七文档
C程序设计课程实验报告册所在学院________________班级________________学号________________姓名________________批阅教师________________《C语言程序设计》实验报告(1)学号:姓名:班级:成绩:实验名称:函数综合实验实验地点:所使用的工具软件及环境:硬件:计算机软件:windows操作系统、VC++一、实验目的:1.掌握函数的定义,调用;2.掌握函数的嵌套与递归;3.掌握函数参数的传递。二、实验内容:按题目要求编程并上机调试程序。1、杨辉三角形的每一项数据正好是组合mnC(即n!/m!/(n-m)!)的值,其中n是行数(从0行开始);m是列数(从0列开始)。请使用上述算法得到杨辉三角形每一个位置的值并按下图打印。要求用函数f计算一个正整数的阶乘(用递归函数来实现),通过主函数调用f完成计算。111121133114641#includestdio.hintf(intx){if(x==1||x==0)return1;elsereturnx*f(x-1);}voidmain(){inti,j;printf(**********杨辉三角**********\n);for(i=0;i5;i++){for(j=0;j9-2*i;j++)printf();for(j=0;j(i+1);j++)printf(%4d,f(i)/f(j)/f(i-j));printf(\n);}}2.编写一个函数,要求对n个学生的成绩进行排序,要求用数组名作函数参数。在数组a中存放了10个学生某门课程的成绩,调用上述函数,实现对10个学生的成绩排序。#includestdio.hvoidf(inta[],intlen){inti,j,k;inttemp;for(i=1;i=len-1;i++){k=i;for(j=i+1;jlen;j++){if(a[j]a[k])k=j;}if(k!=i){temp=a[k];a[k]=a[i];a[i]=temp;}}}voidmain(){inti;intlen=10;inta[]={45,88,97,45,62,74,85,51,81,88};printf(排序前10个学生的成绩是:\n\n);for(i=0;ilen;i++)printf(%5d,a[i]);printf(\n\n);f(a,len);//调用f函数printf(排序后10个学生的成绩是:\n\n);for(i=0;ilen;i++)printf(%5d,a[i]);printf(\n\n);}三、程序运行结果示例:1.2.四、实验收获好好学习,天天向上任课教师签名:2012年月日《C语言程序设计》实验报告(2)学号:姓名:班级:成绩:实验名称:指针综合实验实验地点:所使用的工具软件及环境:硬件:计算机软件:windows操作系统、VC++一、实验目的:1、了解指针与数组、函数、字符串、结构的联系;2、学会用指针处理数组、函数与字符串;3、掌握指针在结构体中的进一步应用,掌握链表的结点的插入、删除等编辑操作。二、实验内容:按题目要求完成程序的改错、调试、填空和编写。以下程序中,main函数通过调用fun()函数统计整数序列中的负数的个数以及平均值。本题约定平均值由函数返回,负数的个数由参数返回。程序有若干错误,请先阅读程序,找出其中的错误行,并写出出错的原因,最后上机调试该程序验证自己的预测。#1doubleaver(inta[],intn,int*p)#2{inti,sum=0;#3*p=0;#4for(i=0;in;i++)#5{sum=sum+a[i];#6if(a[i]0)*p++;#7}#8returnsum/n;#9}#10#includestdio.h#11main()#12{intcount,x[]={0,12,33,-9,-5,27,80,0,54,63};#13doubleav;#14av=aver(x,10,count);#15printf(count:%d\naverage:%.2f\n,count,av);#16}出错行号原因正确代码#8returnsum/n;#14av=aver(x,10,count);sum/n结果为整数不会有小数部分无法将参数3从“int”向“int*'return(double)sum/n;av=aver(x,10,&count);三、程序运行结果示例1.第十四行改为:av=aver(x,10,&count);运行结果2.第八行改为:return(double)sum/n;运行结果四、实验收获好好学习,天天向上任课教师签名:2012年月日
本文标题:C程序设计课程
链接地址:https://www.777doc.com/doc-5463025 .html