c++程序设计实验八

上传人:gbs****77 文档编号:9979008 上传时间:2020-04-09 格式:DOC 页数:6 大小:50KB
返回 下载 相关 举报
c++程序设计实验八_第1页
第1页 / 共6页
c++程序设计实验八_第2页
第2页 / 共6页
c++程序设计实验八_第3页
第3页 / 共6页
点击查看更多>>
资源描述
实验八 1 实验目的 1 初步学会指针数组的定义与使用方法 2 了解指向一维数组的指针变量的概念 能用指向一维数组的指针变量按行处理二 维数组的问题 3 理解返回指针值函数的概念 定义格式 学会用返回指针值函数处理字符串问题 4 理解函数指针与函数指针变量的概念 学会用函数指针变量处理不同函数数学计 算问题 2 实验要求 1 编写实验程序 2 在 VC 运行环境中 输入源程序 3 编译运行源程序 4 输入测试数据进行程序测试 5 写出实验输入数据与运行结果 3 实验内容 1 定义一个二维字符数组 s 3 80 及指针数组 p 3 用 cin getline s i 80 输入 3 个 字符串到二维数组 3 行中 然后用指针数组 p 对字符串进行降序排列 要求用擂台法 最 后用指针数组 p 输出排序后的结果 用字符数组 s 输出排序前的三个字符串 实验数据 Visual C Visual Basic Delphi 2 输入一个二维数组 a 3 3 设计一个函数 用指向一维数组的指针变量和二维数 组的行数作为函数的参数 求出平均值 最大值和最小值 并输出 实验数据 10 25 90 80 70 35 65 40 55 3 设计程序 用函数指针变量完成两个操作数的加 减 乘 除 取余运算 实验数据 10 20 10 5 10 15 10 2 10 3 4 设计一个用梯形法求定积分的通用函数 被积函数的指针 积分的上限 积分的 下限和积分的区间等分数作为函数的参数 分别求出下列定积分的值 dxs 213 ln 412 dxes 312 in 4 解答参考 1 include include void main void char s 3 80 char p 3 s 0 s 1 s 2 char pc int i j k cout Input 3 String endl for i 0 i p i for i 0 i 2 i k i for j i 1 j 3 j if strcmp p i p j 0 k j if k i pc p i p i p k p k pc for i 0 i 3 i cout p i endl for i 0 i 3 i cout s i endl 程序运行结果 Input 3 String Visual Basic Visual C Delphi Visual C Visual Basic Delphi Visual Basic Visual C Delphi 3 解 include int add int x int y return x y int sub int x int y return x y int mul int x int y return x y int div int x int y return x y int res int x int y return x y void main void int x y char operate int f int int cout input three 0 end endl cout Input x operate y x operate y switch operate case f add break case f sub break case f mul break case f div break case f res break default return cout x operate y f x y endl 程序运行结果 input three 0 end Input x operate y 10 20 10 20 30 10 5 10 5 5 10 15 10 15 150 10 2 10 2 5 10 3 10 3 1 0 0 0 3 方法一 用指向一维数组的指针变量和二维数组的行数作为函数的参数 include float ave float p 3 float max float min float sum 0 int i j for i 0 i 3 i for j 0 j 3 j sum p j if max p j min p j p return sum 9 void main void float a 3 3 max min average int i j cout Input Data for i 0 i 3 i for j 0 j a i j max min a 0 0 average ave a 0 cout ave average n cout max max n cout min min n 方法二 用数组名为函数参数 在函数内用指向一维数组的指针变量 求出平均值 最大值和最小值 并输出 解 include void fun float a 3 3 float max min sum 0 p 3 int i j max min a 0 0 for i 0 i 3 i p a i for j 0 j 3 j sum p j if max p j min p j cout ave sum 9 n max max n min min endl void main void float b 3 3 int i j cout Input Data for i 0 i 3 i for j 0 j b i j fun b 程序运行结果 Input Data 10 25 90 80 70 35 65 40 55 ave 52 2222 max 90 min 10 4 分析 由高等数学可知 的定积分值等于由曲线 y f x 直线 x a x b badxf y 0 所围曲边梯形的面积 s 如下图所示 现将曲边梯形划分成 n 个小曲边梯形 s0 s1 s2 sn 1 每个曲边梯形的高均为 h b a n 用矩形近似曲边梯形后各曲 边梯形的面积近似为 s0 y0 h s1 y1 h s2 y2 h sn 1 yn 1 h s s0 s1 s2 sn 1 y0 y1 y2 yn 1 h f x0 f x1 f x2 f xn 1 h x 0 a x n b x i a i h 用梯形法求定积分面积的公式为 10 nii hiafs 其中 a b 分别为积分的下 上限 n 为积分区间的分隔数 h b a n h 为积分步 长 f x 为被积函数 程序编写如下 include include 图 用梯形法求定积分面积 y y f x yn 1 y2 yn y1 y0 s0 s1 s 2 sn 1 x a x b x0 x1 x2 x3 xn 1 xn x 0 a h b float f1 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 1 sin x x x float integral float f float float a float b int 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 main void cout s1 integral f1 1 2 1000 endl cout s2 integral f2 1 4 1000 endl cout s3 integral f3 1 3 1000 endl 程序运行结果 s1 5 13245 s2 2 11232 s3 3 31222
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!