实验七 函数的定义及调用1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验七函数的定义及调用
一.实验目的
1.掌握函数声明、定义和使用的方法;
2.掌握形式参数与实在参数之间的对应关系。
3.掌握函数调用时,形参、实参之间的“值传递”和“地址传递”的区别。
4.掌握函数递归调用的方法;
5.掌握全局变量、局部变量、静态变量的使用方法;
二.实验内容
1.体验实验:
写两个函数,分别求出两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果,两个整数由键盘输入。
int hcf(int u,int v)/*求两个整数u、v的最大公约数*/
{
int t,r;
if(v>u)
{t=u;u=v;v=t;}
while((r=u%v)!=0)
{
u=v;
v=r;
}
return(v);
}
int lcd(int u,int v,int h)/*已知最大公约数h,求u、v的最小公倍数*/
{
return(u*v/h);
}
main()
{
int u,v,h,l;
scanf("%d,%d",&u,&v);/*读入两个数*/
h=hcf(u,v);/*求最大公约数*/
printf("H.C.F=%d\n",h);
l=lcd(u,v,h);/*求最小公倍数*/
printf("L.C.D=%d\n",l);
}
要求:输入程序,上机调试,分别输入三组不同的数据,然后分析运行的结果。
2、能力培养实验:
编写一个递归函数,计算从键盘上输入的任一整数的自然数之和。
如输入n,也就是求n=1+2+3+.....+n
3、综合素质能力拓展实验:
素数是指除了能被1和自己整除的自然数。所以1不是素数,2是最小的素数。编写一个函数,用以判定一个数是否为素数。
方法:在main()函数里接受一个键盘输入的整型数,然后调用该函数,在函数中判断这个数是不是素数。并返回相关的信息给调用函数,然后在main()中输出是否为素数的信息。
(对返值处理感到困难的同学请直接在被调函数中输出是否为素数的信息)。
三.实验要求
.结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。
2.整理上机步骤,总结经验和体会。
3.完成实验报告和并上交实验程序。