




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验七 函数及程序结构(二)一、实验目的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函数调用ratio函数,ratio函数调用dif函数。三个函数平行定义,嵌套调用。#include void main()float ratio(int x,int y,int z);int dif(int x,int y);int a,b,c;float d;printf(请输入a,b,c:);scanf(%d%d%d,&a,&b,&c); d=ratio(a,b,c);if(d=0.0) printf(b-c为零。);else printf(%d/(%d-%d)=%fn,a,b,c,d);float ratio(int x,int y,int z)if(dif(y,z)=1) return (float)x/(float)(y-z);else return 0.0;int dif(int x,int y) if(x=y) return 0;else return 1;2目的利用标准库提供的随机数功能。 题目内容编写程序,帮助小学生练习乘法计算。用随机数函数生成2个一位的随机数,提示“6乘以7等于?”,要求从键盘输入答案,如果答案正确,输出“很好!”,否则输出“不对!重做。”直到做对为止。输入 无输出 提示信息提示包含系统文件stdlib.h,描述的随机数函数int rand(void)、void srand(unsigned seed)。#include #include void main()int shu(void);int a,b,c,i,flag;for(i=1;i=2输入 无输出 fibnocci数列的前20项提示使用for循环语句以及递推算法,fibnocci数列的前两项均为,以后各项等于其前两项之和。#include void main()int fibonacci(int n);int i; for(i=0;i20;i+) printf(%6dn,fibonacci(i); int fibonacci(int n)if(n=0|n=1)return n;else return fibonacci(n-1)+fibonacci(n-2);4目的掌握函数的递归调用。 题目内容 用递归算法求n!.输入整数n输出 n!提示 计算n!的递归公式:#include void main()int fun(int x);int n;printf(请输入n:);scanf(%d,&n); if(n0) printf(n为负数。);else printf(%dn,fun(n);int fun(int x) if(x=0) return 1;else return x*fun(x-1);5目的掌握函数的递归调用。 题目内容 求解两个整数的最大公约数的递归形式的定义:gcd(m,n)= n m能整除以n gcd(n,m%n) m能整除以n输入 m、n输出 最大公约数提示 #include void main()int gcd(int x,int y);int m,n;printf(请输入m,n:);scanf(%d%d,&m,&n); if(n=0) printf(n为零。);else printf(%dn,gcd(m,n);int gcd(int x,int y) if(x%y=0) return y;else return gcd(y,x%y);6目的 掌握数组作为函数参数的程序设计方法。 题目内容 编写一个程序,输入一个包含10个整数的数列存储在一个数组中,调用求和函数求出10个整数的和值,调用求平均值函数求出10个整数的平均值,输出计算结果。 输入 任意10个整数输出 10个整数的和、平均值提示 #include void main()float average(int x,int n);int add(int x,int n);int i,a10;printf(请输入10个整数:);for(i=0;i10;i+) scanf(%d,&ai); printf(和值=%dn,add(a,10);printf(平均值=%fn,average(a,10);int add(int x,int n) int i,sum=0;for(i=0;in;i+)sum=sum+xi;return sum;float average(int x,int n)float ave;int i,sum=0;for(i=0;in;i+)sum=sum+xi;ave=(float)sum/n;return ave;7目的 掌握数组作为函数参数的程序设计方法。 题目内容 编写一个程序,输入一个包含10个整数的数列存储在一个数组中,调用求最大值函数求出10个整数的最大值,调用求最小值函数求出10个整数的最小值,输出计算结果。 输入 任意10个整数输出 10个整数的最大值、最小值提示#include void main()int fmax(int x,int n);int fmin(int x,int n);int i,a10;printf(请输入10个整数:);for(i=0;i10;i+) scanf(%d,&ai); printf(最大值=%dn,fmax(a,10);printf(最小值=%dn,fmin(a,10);int fmax(int x,int n) int i,max=x0;for(i=1;imax ) max=xi;return max;int fmin(int x,int n)int i,min=x0;for(i=1;in;i+)if(ximin) min=xi;return min;8目的 掌握数组作为函数参数的程序设计方法。 题目内容 编写一个程序,输入一个包含10个整数的数列存储在一个数组中,调用排序函数进行升序排序,并输出结果。输入 任意10个整数输出 升序排序结果提示 #include void main()void fsort(int x,int n);int i,a10;printf(请输入10个整数:);for(i=0;i10;i+) scanf(%d,&ai); printf(排序前数列为:n);for(i=0;i10;i+) printf(%4d,ai);printf(n); fsort(a,10);printf(排序后数列为n);for(i=0;i10;i+) printf(%4d,ai);printf(n);void fsort(int x,int n) int i,j,t;for(i=1;in;i+)for(j=1;j=xj) t=xj-1; xj-1=xj; xj=t; 9目的掌握数组作为函数参数的程序设计方法。 题目内容 编写一个程序,完成下列各项操作:(1) 输入一个包含n个整数的数列;(2)输出已经输入的整数数列;(3)将整数数列按照升序的顺序重新排列;(4)计算n个整数中的最大值,并输出;(5)计算n个整数中的最小值,并输出;(6)计算n个整数的平均值,并输出;输入 任意n个整数输出 要求的结果提示 可以采用 一维数组将整数数列组织起来。实现上述各项操作的函数原型可以这样定义:void Input(int value,int n);void Output(int value,int n);void Sort(int value,int n);int Max(int value,int n);int Min(int value,int n);double Ave(int value,int n);#include void main()void Input(int value,int n); void Output(int value,int n); void Sort(int value,int n); int Max(int value,int n); int Min(int value,int n); double Ave(int value,int n);int a10;Input(a,10); Output(a,10); Sort(a,10);Output(a,10); printf(最大值=%dn,Max(a,10);printf(最小值=%dn,Min(a,10); printf(平均值=%fn,Ave(a,10);void Input(int value,int n)int i;printf(请输入10个整数:);for(i=0;in;i+) scanf(%d,&valuei);void Output(int value,int n) int i;printf(数列为:n);for(i=0;in;i+) printf(%4d,valuei);printf(n); void Sort(int value,int n) int i,j,t;for(i=1;in;i+)for(j=1;j=valuej) t=valuej-1; valuej-1=valuej; valuej=t; int Max(int value,int n) int i,max=value0;for(i=1;imax ) max=value
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学生视角下图书馆藏书更新对阅读推广活动的优化策略论文
- 初中历史教学中学生历史思维能力培养研究论文
- 节能制度与管理制度
- 英维克档案管理制度
- 茶饮店员工管理制度
- 观众对绿色剧院演艺的感知
- 评估工作总结
- 《树和喜鹊》课件
- 财务与会计之非流动负债知识答题(一)
- 湖南省株洲市醴陵市2024-2025学年七年级下学期期末能力测试练习数学试卷(含答案)
- 胸痹心痛的中医诊治专家讲座
- GB/T 33011-2016建筑用绝热制品抗冻融性能的测定
- GB/T 25775-2010焊接材料供货技术条件产品类型、尺寸、公差和标志
- CB/T 3790-1997船舶管子加工技术条件
- NB∕T 10731-2021 煤矿井下防水密闭墙设计施工及验收规范
- 中国古代文学作品选复习资料
- 末梢采血课件
- 2022年昌吉回族自治州昌吉工会系统招聘考试题库及答案解析
- 肿瘤标志物及其临床意义课件
- 幼儿教育学试题及答案
- 设备供应商评估报告
评论
0/150
提交评论