欢迎来到天天文库
浏览记录
ID:35241733
大小:273.50 KB
页数:12页
时间:2019-03-22
《c语言试验报告-数组函数实验》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、学生实验报告实验课名称:数组函数综合实验实验项目名称:数组函数综合实验专业名称:测控技术与仪器班级:2012240801学号:201224080126学生姓名:黄小龙教师姓名:武雅丽2013年4月27日实验日期:2013年4月27日实验室名称:数组函数综合实验一.实验名称:数组函数综合实验二.实验目的与要求:(1)掌握一维数组和二维数组的定义,赋值和输入输出的方法。(2)掌握字符数组和字符串函数的使用。(3)掌握与数组有关的算法(特别是排序算法)。(4)掌握定义函数的方法。(5)掌握函数实际参数与形式
2、参数的对应关系,以及“值传递”的方式。(6)掌握函数的嵌套使用和递归使用的方法。(7)掌握全局变量和局部变量以及存储类型的概念和使用方法。三.实验内容:1.实验指导书p107打印杨辉三角形。2.P108删数组中相同的数。填空。3.教材p1739题填空。4.2个数找最大数,用函数完成。5.10个数找最大数并排序,用函数完成。四.算法描述:1.观察杨辉三角形,要求输出10行,将结果存入一个10行10列的二位数组a[10][10]。杨辉三角形中的第一列都是1,并且行数和列数相等的时候也为1,a[i][0]=
3、a[i][i]=1,其次,其他位置的数等于上一个数与上一个数的前一个数之和,a[i][j]=a[i-1][j-1]+a[i-1][j]。2.将从小到大的20个数存入一个一位数组a[20],删除其中相同的数,最后以每行5个数的形式输出。用循环实现其算法,i=n=19,while(i>=1)做循环条件,当两数相同一次n减去1,从相同的数开始,将后边的数给前一个数,for(j=I;j<=n;j++)a[j-1]=a[j];i--;最后输出结果。3.用函数输出1000以内的回文数,函数rev实现的功能是把一个
4、数从后往前输出,m=a%10;b=b*10;a=a/10;循环条件while(a!=0)。判断y是否等于x,输出结果。4.用函数计算两个数的最大值,函数的返回值为最大值。定义函数类型为整型,用条件运算符计算最大值a>b?a:b,在main()函数调用定义的最大值函数。5.将这10个数存入一个一位数组a[10]中,求其最大值并且排序,用一个带返回值的函数和一个无返回值的函数实现。定义一个返回值为整型的函数intmax(a[10]),把最大值给a[0],与其他数进行比较,把大的数再放到最大值里面。定义一个
5、无返回值函数voidselect(a[10]),用冒泡法排序,并输出。在main()函数中调用两个函数。五.源程序file1.c#includevoidmain()#defineN10{inta[N][N],i,j;for(i=0;i6、("%d",a[i][j]);printf("");}}file2.c#include#defineMAX20voidmain(){inta[MAX],i,j,n;for(i=0;i=1){if(a[i]==a[i-1]){for(j=i;j<=n;j++)a[j-1]=a[j];n-=1;}i--;}for(i=0;i<=n;i++){if(i%5==0)printf("");prin7、tf("%3d",a[i]);}}file3.c#includeintrev(inta);voidmain(){intx,y,i=0;for(x=1;x<1000;x++){y=rev(x);if(y==x){printf("%6d",x);i++;if(i%10==0)printf("");}}}intrev(inta){intm,b=0;while(a!=0){m=a%10;b=b*10+m;a=a/10;}returnb;}file4.c#includem8、ax(inta,intb){intnum;num=a>b?a:b;returnnum;}voidmain(){inta,b;printf("Pleaseinputa,b:");scanf("%d%d",&a,&b);printf("max=%d",max(a,b));}file5.c#include#defineN10max(inta[N]){intnum,i;num=a[0];for(i=1;i
6、("%d",a[i][j]);printf("");}}file2.c#include#defineMAX20voidmain(){inta[MAX],i,j,n;for(i=0;i=1){if(a[i]==a[i-1]){for(j=i;j<=n;j++)a[j-1]=a[j];n-=1;}i--;}for(i=0;i<=n;i++){if(i%5==0)printf("");prin
7、tf("%3d",a[i]);}}file3.c#includeintrev(inta);voidmain(){intx,y,i=0;for(x=1;x<1000;x++){y=rev(x);if(y==x){printf("%6d",x);i++;if(i%10==0)printf("");}}}intrev(inta){intm,b=0;while(a!=0){m=a%10;b=b*10+m;a=a/10;}returnb;}file4.c#includem
8、ax(inta,intb){intnum;num=a>b?a:b;returnnum;}voidmain(){inta,b;printf("Pleaseinputa,b:");scanf("%d%d",&a,&b);printf("max=%d",max(a,b));}file5.c#include#defineN10max(inta[N]){intnum,i;num=a[0];for(i=1;i
此文档下载收益归作者所有