C语言实验七、函数程序设计答案

C语言实验七、函数程序设计答案

ID:40544507

大小:63.50 KB

页数:8页

时间:2019-08-04

C语言实验七、函数程序设计答案_第1页
C语言实验七、函数程序设计答案_第2页
C语言实验七、函数程序设计答案_第3页
C语言实验七、函数程序设计答案_第4页
C语言实验七、函数程序设计答案_第5页
资源描述:

《C语言实验七、函数程序设计答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验七函数及程序结构(二)一、实验目的1.掌握函数的嵌套调用和递归调用2.掌握数组做函数参数的用法3.掌握全局变量和局部变量的用法。?4.掌握变量的存储类别。?二、实验内容1.[目的]掌握函数的嵌套调用方法。[题目内容]编写程序计算。要求设计主函数main()读取a、b、c的值,并调用ratio函数计算a/(b-c)的值。如果(b-c)=0那么ratio就不能计算,因此,ratio函数调用另一个函数dif,以测试(b-c)的差是否为零,如果b不等于c,dif返回1,否则返回0。[输入]a、b、c的值[输出]计算结果[提示]main函数调用rat

2、io函数,ratio函数调用dif函数。三个函数平行定义,嵌套调用。#includevoidmain(){floatratio(intx,inty,intz);intdif(intx,inty);inta,b,c;floatd;printf("请输入a,b,c:");scanf("%d%d%d",&a,&b,&c);d=ratio(a,b,c);if(d==0.0)printf("b-c为零。");elseprintf("%d/(%d-%d)=%f",a,b,c,d);}floatratio(intx,inty,intz)

3、{if(dif(y,z)==1)return(float)x/(float)(y-z);elsereturn0.0;}intdif(intx,inty){if(x==y)return0;elsereturn1;}2.[目的]利用标准库提供的随机数功能。[题目内容]编写程序,帮助小学生练习乘法计算。用随机数函数生成2个一位的随机数,提示“6乘以7等于?”,要求从键盘输入答案,如果答案正确,输出“很好!”,否则输出“不对!重做。”直到做对为止。[输入]无[输出]提示信息[提示]包含系统文件stdlib.h,描述的随机数函数intrand(void)

4、、voidsrand(unsignedseed)。#include#includevoidmain(){intshu(void);inta,b,c,i,flag;for(i=1;i<=10;i++){flag=1;srand(11+i*2);/*不同的初始种子数,产生不同的随机数序列*/a=shu();srand(12+i*3);/*不同的初始种子数,产生不同的随机数序列*/b=shu();while(flag==1){printf("%d乘以%d等于?",a,b);scanf("%d",&c);if(a*

5、b==c){printf("很好!");flag=0;}elseprintf("不对!重做。");}}}intshu(void){returnrand()%10;}3.[目的]掌握函数的递归调用。[题目内容]编写一个程序,其功能为:用递归函数产生fibnocci数列的前20项并输出。fibnocci数列可用递归形式定义为:fib[0]=0fib[1]=1fib[n]=fib[n-1]+fib[n-2]n>=2[输入]无[输出]fibnocci数列的前20项[提示]使用for循环语句以及递推算法,fibnocci数列的前两项均为1,以后各项等于其

6、前两项之和。#includevoidmain(){intfibonacci(intn);inti;for(i=0;i<20;i++)printf("%6d",fibonacci(i));}intfibonacci(intn){if(n==0

7、

8、n==1)returnn;elsereturnfibonacci(n-1)+fibonacci(n-2);}4.[目的]掌握函数的递归调用。[题目内容]用递归算法求n!.[输入]整数n[输出]n![提示]计算n!的递归公式:#includevoidmain(){in

9、tfun(intx);intn;printf("请输入n:");scanf("%d",&n);if(n<0)printf("n为负数。");elseprintf("%d",fun(n));}intfun(intx){if(x==0)return1;elsereturnx*fun(x-1);}5.[目的]掌握函数的递归调用。[题目内容]求解两个整数的最大公约数的递归形式的定义:gcd(m,n)=nm能整除以ngcd(n,m%n)m能整除以n[输入]m、n[输出]最大公约数[提示]#includevoidmain(){intg

10、cd(intx,inty);intm,n;printf("请输入m,n:");scanf("%d%d",&m,&n);if(n==0)printf("

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。