资源描述:
《实验报告样本(验证性实验)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、一、实验目的和要求1.掌握C语言中定义函数的方法。2.掌握函数传值调用的方法。3.掌握递归函数的设计方法。4.掌握几个函数放在一个文件中以及分别放在几个文件中的编译、连接方法。二、实验内容1.上机调试下面的程序。#includeintsum(inta,intb)/*定义一个求和函数*/{return(a+b);/*返回a+b的值*/}voidmain(){intx,y;printf("%d",sum(x,y));/*调用sum函数并显示结果*/}程序运行过程:37814751。2.编写程序,在
2、主函数中输出1!+2!+3!+…..+10!的值。要求将计算阶乘的运算写成函数。#includevoidmain(){inti,sum=0;longfac(inti);for(i=1;i<=10;i++)sum+=fac(i);printf("sum=%ld",sum);}longfac(inti){intr;if(i==1)r=1;elser=i*fac(i-1);returnr;}程序运行过程:sun=4037913.3.编写函数,将输入的十进制正整数n转换为二进制数,并将转换结果输出。#
3、includevoidmain(){intn;voidDec2Bin(intm);/*自定义函数的函数声明*/printf("Inputdecimalnumber:");scanf("%d",&n);Dec2Bin(n);}voidDec2Bin(intm){intbin[32],j;for(j=0;m!=0;j++){bin[j]=m%2;/*除2取余,余数放入到数组中*/m=m/2;}printf("Outputbinarynumber:");for(;j!=0;j--)/*数组内的值
4、反序输出*/printf("%d",bin[j-1]);}程序运行过程:Inputdecimalnumber:8Outputbinarynumber:1000。4.求方程的根,用3个函数分别求当大于0、等于0和小于0时的根,并输出结果。从主函数输入a、b、c的值。#include#includedoublex1,x2;voidroot1(doublea,doubleb,doubled){x1=(-b+sqrt(d))/2/a;x2=(-b-sqrt(d))/2/a;printf("
5、x1=%.2lf,x2=%.2lf",x1,x2);}voidroot2(doublea,doubleb){x1=x2=-b/2/a;printf("x1=%.2lf,x2=%.2lf",x1,x2);}voidroot3(doublea,doubleb,doubled){x1=-b/2/a;x2=sqrt(-d)/2/a;printf("x1=%.2lf+%.2lfix2=%.2lf-%.2lfi",x1,x2,x1,x2);}voidmain(){doublea,b,c,d;printf("plea
6、seinputa,b,c:");scanf("%lf,%lf,%lf",&a,&b,&c);d=b*b-4*a*c;if(d>0)root1(a,b,d);elseif(d==0)root2(a,b);elseroot3(a,b,d);}程序运行结果:pleaseinputa,b,c:2,3,4x1=-0.75+1.20ix2=-0.75-1.20i5.写一函数,使给定的一个二维数组(33)转置,即行列互换。#include#defineN3intarray[N][N];voidconvert
7、(intarray[3][3])/*定义转置数组的函数*/{inti,j,t;for(i=0;i8、"%d",&array[i][j]);printf("originalarray:");for(i=0;i