C语言实验 程序结构和函数
- 格式:doc
- 大小:38.50 KB
- 文档页数:4
实验项目6 程序结构和函数
●实验目的
1.掌握C程序中函数的定义和调用方式。理解函数声明的概念,掌握函数声明的方法。2.理解函数类型、函数参数和返回值的概念以及它们之间的关系。
3.掌握C程序中地址值参数传递和数组作函数参数传递的调用方法。
4.掌握C程序中函数嵌套调用的方法。
5.掌握程序中递归调用函数的特征和递归调用函数执行的过程。
●实验内容
1.程序填空
(1)下面程序的功能是:求出从键盘输入的三个数的最小公倍数。请填空完成程序。
#include
int main()
{
int max(int x,int y,int z);
int x0,x1,x2,x3,i=1,j;
printf("Input 3 numbers:");
scanf("%d,%d,%d",&x1,&x2,&x3);
x0=max ;
while(1)
{
j=x0*i;
if(j%x1==0&&j%x2==0&&j%x3==0)
break;
;
}
printf("%d,%d,%d,%d\n",x1,x2,x3,j);
return 0;
}
int max(int x,int y,int z)
{
if(x>y&&x>z)
return x;
else if( )
return y;
else
return z;
}
(2)下面程序的功能是:采用冒泡法对一维数组中的数据按升序进行排序。请填空完成程序。
#include
int main( )
{
void sort( );
int i,arr[]={12,60,21,45,13,55,19,28,71,32};
sort( );
for(i=0;i<10;i++)
printf("%4d",arr[i]);
printf("\n");
return 0;
}
void sort(int a[],int n )
{
int i,j,temp;
for(i=0;i { for(j=0;j if(a[j] ) temp=a[j],a[j]=a[j+1],a[j+1]=temp; } } 2.程序改错 (1)下面程序的功能是:用随机数填充长度为N的整型数组,输入想查找的关键字key,调用函数search进行查找,并根据查找结果给出相应的提示信息。程序中标有星号行存在错误,请改正这些错误。 #include #include #include #define N 20 int search(int v[],int n,int k); int main() { int a[N],i,key,pos; srand(time(NULL)); for(i=0;i a[i]=rand()%100; printf("请输入查找关键字key: "); scanf("%d",&key); pos=search(); //***** if(pos!=-1) printf("查找成功,找到的是元素a[%d]\n",pos); else printf("数组中没有被查找的关键字存在!\n"); return 0; } int search(int v[],n,k) //***** { int i; for(i=0;i if(v[i]==k) return i; return 0; //***** } (2)下面程序的功能是:找出从键盘上输入的3个实型数据中的最大值。程序中存在若干错误,请改正这些错误。 #include int main() { void maxnumber(double,double,double); double a,b,c,r; printf("?a,b,c:"); scanf("%lf%lf%lf",&a,&b,&c); r=maxnumber(); printf("最大值是:%lf\n",r); return 0; } void maxnumber(double a,double b,double c) { double max; max=a>b?a:b; max=c>max?c:max; return a,b,c; } 3.程序设计 (1)已有C源程序文件reversenum.c,文件中存放有设计好的reversenum函数,其功能是将一个正整数颠倒。编写程序,利用已有的reversenum.c源文件,求出所有的两位的“绝对素数”。所谓“绝对素数”是指一个素数,当它的数字位置对换后仍然是素数。 //erversenum.c源程序文件 int reversenum(int n) { int revn=0; while(n) { revn=revn*10+n%10; n/=10; } return revn; } (2)已有C源程序文件makestring.c(存放makestring函数)和totalchar.c(存放totalchar函数),两个文件中函数的代码如下所示: #include #include void makestring(char v[],int n)