资源描述:
《c语言实验5函数答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、实验目的(1)掌握C语言中定义函数的方法(2)掌握通过“普通值传递”和“地址值传递”调用函数的方法。(3)掌握函数嵌套调用和递归调用的方法。(4)理解变量作用域和生存期的概念,掌握全局变量和局部变量,动态变量和静态变量的定义、说明和使用方法。二、实验内容步骤(按要求设计以下程序,并调试分析运行结果,此部分完成在实验报告上)1.编写函数fun,函数首部为voidfun(inta[],intn),其功能是将数组a进行倒序,即a[0]和a[n-l]交换,a[l]和a[n・2]交换。Main函数中定义数组a[10]={1,2,3,
2、4,5,6,7,8,9,10},调用fun函数,然后将倒序后的数组a输出。(文件名存为sy5-l.c)#include#includemain(){voidfun(inta[Lintn);inti,array[10]={1,2,3,4,5,6,7,8,9,10};clrscr();printf(nbeforeswap:n);for(i=0;i<10;i++)printf(H%dH,array[i]);printf(un);fun(array,10);printf(Hafterswap
3、:H);for(i=0;i<10;i++)printf(H%dH,array[i]);}voidfun(inta[],intn){intm=n/2;for(i=0,j=n-i・1;i4、,10,11,12},{13,14,15,16}};#include#includemain(){voidfun(inta[][4]);intij,n=0,array[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};printf("beforezhuanzhi:H);for(i=0;i<4;i++)for(j=0;j<4;j++){printf(,,%4dn,array[i][j]);n++;if(n%4==0)printf(
5、Hn);}printf("");fun(array);printfC'afterswap:");for(i=0;i<4;i++)for(j=0;j<4;j++){printf(n%4d",array[i][j]);n++;if(n%4==0)printf(un);}}voidfun(inta[][4]){inti,j,b[4][4];fbr(i=0;i<4;i++)for(j=0;jv4;j++)b[j][i]詢i][j];for(i=0;i<4;i++)for(j=0;j<4;j++)a[i]U]=b[i][
6、j];}3编写firn函数,其功能是判断一个三位数是否是水仙花数,如果是则返回1,不是返回0。main函数调用fun函数找岀三位数中的水仙花数,并打印输出,一行打卬5个数。(文件名存为sy5・3・c)#include#includemain(){intfun(inta);inti,c,n=O;for(i=100;i<1000;i++){c=fun(i);if(c==l){printf(H%5dM,i);n++;if(n%5==0)printf(HH);intfun(inta){inti,
7、j,k,flag;i=a/100;j=a/10%10;k=a%10;if(a二二i*i*i+j*j*j+k*k*k)flag=1;elseflag=O;returnflag;}4.编写fun函数,函数首部定义为voidfun(chara[],charb[])其功能是:将形参数组b中的字符顺序连接到形参数组a的字符串后面。注:不能使用字符串的复制和连接函数。例如:a中的字符串为hello,b中的字符串为123,则字符串a中的内容为hello123omain函数屮输入两字符串赋给字符数组swl和str2,调用fun函数,实现两字符
8、串的连接,并将连接好后的字符串输出。((文件名存为sy5-4.c))#include#includemain(){voidfun(chara[],charb[]);charstrl[5O],str2[3O];printf(Hinputtw