资源描述:
《c语言实验报告七.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、《软件需求分析与建模》课程实验报告实验名称函数实验序号七实验日期2014.5.14.姓名院系计算机学院班级332学号28专业网络工程指导教师薛黎成绩教师评语一、实验目的和要求1.掌握函数定义的方法。2.掌握函数调用、实参和形参的传递方法。3.掌握变量作用域和变量类型的使用方法。二、实验项目摘要1.从键盘输入数行数据,每行三个正整数n1、n2和n3,三个0表示输入结束。每输入完一行,输出n1和n2之间(包括n1和n2)能被n3整除的数的个数。要求用一个函数实现统计整除数个数的功能,其首部为:intaliquot(intn1,intn2,in
2、tn3)1230210250002.求组合数。计算其中计算C(m,n)的函数首部为:intcmn(intm,intn)计算阶乘的函数首部为:intfac(intn)并用cmn函数打印杨辉三角形。3.从键盘输入最多50个整数,0表示结束。将该批数据存入一个数组中,然后调用ReverseAndCount函数将数据在数组中的存放次序颠倒并统计出大于平均数的个数,输出结果。ReverseAndCount函数的功能为颠倒数据存放的次序和统计大于平均数的个数,其首部为:intReverseAndCount(intn,ints[])如果为了程序的结构,
3、你还可以添加其他的子程序。如,可以编写计算数组中数据的平均值的函数,还可将ReverseAndCount函数分成两个子程序实现等。1234505numbersinputted.Reverse:54321Count:2三、实验结果与分析1.#includeintaliquot(intn1,intn2,intn3){inti,j=0,t;if(n1>n2){t=n1;n1=n2;n2=t;}for(i=n1;i<=n2;i++)if(i%n3==0)++j;printf("%d",j);}intmain(void){in
4、ti,a,b,c;for(i=0;;i++){printf("分别输入三个整数:");scanf("%d%d%d",&a,&b,&c);if(a==0&&b==0&&c==0)break;elsealiquot(a,b,c);}return0;}2.#includeintfac(intn){inti,sum=1;for(i=1;i<=n;i++)sum=sum*i;returnsum;}intcmn(intm,intn){intc,sum;sum=fac(m)/(fac(n)*fac(m-n));printf("合数结果
5、为C(m,n)=%d",sum);c=sum;inti,j,a[c][c];for(i=0;i6、intf("输入m=");scanf("%d",&m);printf("输入n=");scanf("%d",&n);}while(m<=n);c=cmn(m,n);return0;}3.#includeintmain(void){inti,a[51];intReverseAndCount(intn,ints[]);printf("输入最多50个整数(零为结束):");for(i=0;;i++){scanf("%d",&a[i]);if(a[i]==0)break;}printf("%dnumbersinputted.
7、",i);printf("Count:%d",ReverseAndCount(i,a));return0;}intReverseAndCount(intn,ints[]){inti,j=0,t;floatavg,sum=0;for(i=0;iavg)j+
8、+;printf("Count:%d",j);returnj;}注:空间不够,可以增加页码。