下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、实验八1. 实验目的(1) 初步学会指针数组的定义与使用方法。(2) 了解指向一维数组的指针变疑的概念,能用指向一维数组的指针变量按行处理二维数组的问题。(3) 理解返回指针值函数的概念、 立义格式,学会用返回指针值函数处理字符串问题。(4) 理解函数指针与函数指针变量的概念,学会用函数指针变量处理不同函数数学计算问题。2. 实验要求(1) 编写实验程序(2) 在VC+运行环境中,输入源程序;( 3 )编译运行源程序:( 4)输入测试数据进行程序测试;( 5 )写岀实验输入数据与运行结果。3. 实验内容( 1 ) 定义一个二维字符数组 s380 及指针数组 p3, 用 cin.getline(
2、 si,80 )输入 3 个 字 符串到二维数组 3行中,然后用指针数组 p 对字符串进行降序排列(要求用擂台法),最 后用 指针数组 P 输出排序后的结果,用字符数组 S 输出排序前的三个字符串。实验数据: Visual C+" , Visual Basic" , “Delphi (2)输入一个二维数组 a33, 设计一个函数,用指向一维数组的指针变量和二维数组的行数作为函数的参数,求岀平均值、最大值和最小值,井输岀。实验数据: 10, 25, 90, 80, 70, 35, 65, 40, 55( 3)设计程序,用函数指针变量完成两个操作数的加、减、乘、除、取余运算。实
3、验数据 : 10 + 2010- 510* 15 10 / 2 10 % 3( 4 )设计一个用梯形法求过积分的通用函数,被积函数的指针、积分的上限、积分的下限和积分的区间等分数作为函数的参数。分别求出以下立积分的值。251 = |(1 + ln(x) + x 5X/xI4. 解答参考(1)#include <iostream.h># include <string.h> void main(void) char s38O;char *p3=(s0,sl,s2;char * pc;int i,j,k;cout? HInput 3 String: H?endl:for (
4、i=0;i<3;i+) cin?pi;for (i=0;i<2;i+) k=i;for (j=i+l:j<3;j+)if (strcmp (pi,pj)<0)k=j;if (k!=i) pc=pi:pi=pk;p|k=pc;for (i=0;i<3;i+) cout? pi? endl: for (i=0:iv3;i+) cout? si? endl;程序运行结果:Input 3 String:Visual BasicVisual C+DelphiVisual C+Visual BasicDelphiVisual BasicVisual C+Delphi(3)解:
5、# include <iostream.h>int add(int xjnt y) return x+y:int sub(int xjnt y) return x-y;int mul(int xjnt y) return x*y;int div(int y) return x/y;int res(int xjnt y) return x%y;void main(void) int x,y;char operate;int (*f)(int,int);cout? Hinput three 0 end M?endl;cout? HInput x operate y= vvc
6、ndl;while(l)cin?x?operate?y;switch (operate)casef=add; break; case T: f=sub; break: case f=mul; break; case T. f=div; break; casef=res; break; default: return;cout<<x<<operate? ?,=H< v(* f)(x,y)? endl;程序运行结果:input three 0 endInput x operate y=10 + 2010+20=3010-510-5=510 * 1510*15=1501
7、0/210/2=510 % 310%3=l0 0 0(3) 方法一:用指向一维数组的指针变量和二维数组的行数作为函数的参数9n elude <iostream.h>float ave(float (*p)3J,float *max,float *min) float sum=0:int ij;for(i=0;i<3;i+)for(j=0;j<3;j 卄)sum+=(*p)j:if (*max<(*p)j) *max=(*p)j;if (*min>(*p)0J) *min=(*p)j;P+;return sum/9;void main(void) float
8、a33 5maxjnin,average;int i,j;cout? HI nput Data: 11;for (i=0;i<3;i+)for (j=O;j<3:j+) cin? aij; max=min=a00); average=ave(a+O,&max.&min); cout<< Have=H?average?n ,; cout? Hmax=H ?max?,n ,; cout? Hmin= ,?min? fn ,;最大 方法二:用数组名为函数参数,在函数内用指向一维数组的指针变量,求出平均值、 值和最小值,并输出。解:#include <io
9、stream.lr>void fun(float a ) float max,min,sum=0,(*p)3 ;int i j;max=min=a00;for(i=0;i<3;i+) p=a+i;for(j=0:j<3;j+) sum+=(*p)j;if (max<(*p )UJ) max=(*p)j;if (min>(*p ) U) min=(*p)j; cout? ,ave=H?sum/9? ,n ,?Hmax=',?max?,nt?Hmin= M?min? endl;void main(void) float b(33J;int i j;cout?
10、HI nput Data: w;for (i=0;i<3;i+)for (j=O;j<3:j+)fun (b);程序运行结果:In put Data:10 25 90 80 70 35 65 40 55 ave=52.2222max=90min=10(4)b分析:由髙等数学可知,7(x)dx的左积分值等于由曲线 y=f(x).直线xn、x=b、y=0a所囤曲边梯形的而积S如以下列图所示。现将曲边梯形划分成 n个小曲边梯形ASO ASK S2、???、ASn-lo每个曲边梯形的高均为h=(b-a)/n,用矩形近似曲边梯形后各曲边梯形的面积近似为:yASO=yo*hASl=yi*hAS
11、2=y2*hXO图用槨3形法求定枳分ypASn-l 二yn-i*hxS = S0+ S1 + S2+ + Sn-1 =( yo+y i+yz+? ? ? +yn-i)*h=(f (Xo)+(f (Xi)+f(X2) +-+f (xn-l)*h?/ x() =a , xi=b, Xi=a+i*h/ /i ih=(b a)/m h为积分步 长;f(x)?用梯形法求左积分面积的公式为:5=| £; /(<7 + Zx/?) x/?其中:a、b分别为积分的下、上限为积分区间的分隔数,为被积函数程序编写如下:# in elude <math.h># in elude <iostream.h>float fl (float x) return (1 +log(x)+x*x*x);float f2(float x) return (1/(1+x*x);float f3(float x) return (x+exp(x)/( l+sin(x)+x*x);float integral(float (*f)(float),float a,float bant n) float y,h;int i;y=0;h=(b-a)/n:for (i=0;i<n;i+) y+=f(a+i*h); return (y*h);void mai
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024重金属污染土壤修复剂
- 《医用物理学》超长详细笔记
- 强调工作重要性的排比句50例
- 2024年自然科学研究与试验发展服务项目资金需求报告代可行性研究报告
- 2024年眼用抗感染药项目资金申请报告
- 2024年甲醇制烯烃项目资金需求报告代可行性研究报告
- 起重机械钢结构冷喷烯锌防护涂装技术指南-意见征求稿
- Python程序设计实践- 习题及答案 ch19 实验15 数据可视化
- 护理措施及护理问题
- 模范人物敬业奉献事迹材料范文5篇
- GB/T 15007-2017耐蚀合金牌号
- GB/T 1348-1988球墨铸铁件
- 42-1公共秩序与治安管理
- 高中英语《新题型-读后续写》公开课优秀课件(经典、完美、值得收藏)
- 大学语文庄子·秋水(课堂)课件
- 河北省沧州市各县区乡镇行政村村庄村名居民村民委员会明细
- 农贸市场设计要点
- 统计期末气象预报-2014a
- 电动汽车结构与检修测试题附答案完整版
- 挂面车间操作规程
- 员工日常检查记录表
评论
0/150
提交评论