C++实验-zcj.doc

上传人:11****ws 文档编号:3179276 上传时间:2019-05-24 格式:DOC 页数:10 大小:76.50KB
下载 相关 举报
C++实验-zcj.doc_第1页
第1页 / 共10页
C++实验-zcj.doc_第2页
第2页 / 共10页
C++实验-zcj.doc_第3页
第3页 / 共10页
C++实验-zcj.doc_第4页
第4页 / 共10页
C++实验-zcj.doc_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、实验一1实验目的通过本次实验(1)掌握用 VC+集成开发环境编辑源程序的方法。(2)掌握在 VC+集成开发环境中编译、调试与运行程序的方法。(3)理解数据类型、变量、运算符、表达式的概念。(4)学会使用 cin 进行数据输入操作。(5)学会用算术表达式、关系表达式、赋值表达式完成数据处理工作。(6)学会使用 cout 进行数据输出操作。2实验要求(1)编写实验程序;(2)在 VC+运行环境中,输入源程序;(3)编译运行源程序;(4)写出运行结果。3实验内容(1)设计一个 C+程序,输出以下信息:*Hello!*(2)设计一个 C+程序,输入三个职工的工资,求工资总额。实验数据:1500,200

2、0,2500(3)设计一个程序,从键盘输入一个矩形的长与宽,求其周长和面积。实验数据:50,40(4)设计一个程序,输入一个华氏温度值,要求输出其对应的摄氏温度值。温度转换公式为:c=(f-32)*5/9。实验数据:33(5)从键盘输入一个四位整数 n=abcd,从左到右用 a、b、c、d 表示各位的数字,现要求依次输出从右到左的各位数字,即输出另一个三位数 m=dcba,试设计程序。实验数据:1234实验二1实验目的通过本次实验(1)初步学会 VC+开发环境中,单步执行程序的方法。(2)掌握 if 语句的格式与使用方法,学会两路分支程序设计方法;(3)掌握嵌套 if 语句的格式与用法,学会多

3、路分支程序的设计方法。(4)掌握 switch 语句的格式与使用方法,学会编写多路分支程序。2实验要求(1)编写实验程序(2)在 VC+运行环境中,输入源程序(3)单步执行程序(4)编译运行源程序(5)输入实验数据,写出运行结果。3实验内容(1)演示单步执行程序的方法;(2)设计一个程序,判断从键盘输入的整数的正负性和奇偶性。实验数据:-3 与 5(3)有下列函数:x+3.5 (x5)y= 203.5(x+3)2 (5x10)3.5+sin(x) (x10)x2设计一个程序,从键盘输入 x 的值,输出 y 的值。实验数据:6 与 11(4)奖金税率如下:(a 代表奖金,r 代表税率)a100(

4、元) r=0%100a200 r=2%200a400 r=4%400a800 r=8%a800 r=10%输入一个奖金数,求税率、应交税款及实得奖金数。实验数据:400 与 900实验三1实验目的通过本次实验(1)掌握 while 语句的格式与使用方法,学会当型循环程序设计方法;(2)掌握 for 语句的格式与用法,学会当型循环程序设计方法;(3)掌握 dowhile 语句的格式与使用方法,学会直到型循环程序设计方法;(4)学会求常用级数的编程方法;2实验要求(1)编写实验程序(2)在 VC+运行环境中,输入源程序(3)编译运行源程序(4)输入实验数据,写出运行结果。3实验内容(1)输入一行字

5、符,分别统计出其中英文字母、空格、数字字符和其它字符的个数。提示:用 cin.get(c)函数从键盘上输入一个字符给变量 c,直到输入回车换行字符n 为止。(2)设有一个数列,它的前四项为 0、0、2、5,以后每项分别是其前四项之和,编程求此数列的前 20 项。(3)求 近似值的公式为: 1212543212 nn其中,n=1、2、3设计一个程序,求出当 n=1000 时的 的近似值。(4) 求出 1599 中能被 3 整除,且至少有一位数字为 5 的所有整数。如15、51、513 均是满足条件的整数。提示:将 1599 中三位整数 i 分解成个位、十位、百位,分别存放在变量 a、b、c 中。

6、然后判断 a、b 、c 中是否有 5。将三位整数 i (设 i=513)分解成个位、十位、百位的方法是:c=i%10; /c= i%10=513%10=3a=i/10; /a= i/10=51b=a%10; /b=a%10=51%10=1a=a/10; /a=a%10=51/10=5实验四1实验目的通过本次实验(1)掌握一维数组的定义、初始化赋值、数组元素的引用方法;(2)掌握二维数组的定义、初始化赋值、数组元素的引用方法;(3)学会求数组元素中的最大值、最小值、平均值的方法;(4)学会数组元素排序的两种编程方法。2实验要求(1)编写实验程序;(2)在 VC+运行环境中,输入源程序;(3)编译

7、运行源程序;(4)输入实验数据,写出运行结果3实验内容(1)某班第 1 组有 10 个学生,进行了 C+考试,编写程序将考试成绩输入一维数组,并求出 C+的平均成绩及优(90100) 、良(8089) 、中( 7079) 、及格(6069)与不及格(059)学生的人数。实验数据:90、85、80、75、70、65、60、55、50、45(2)某班第 1 组有 10 个学生,进行了 C+考试,编写程序将考试成绩输入一维数组,并将 C+成绩用冒泡法、选择法两种排序算法,由低到高的顺序排序后输出。实验数据:90、85、80、75、70、65、60、55、50、45(3)输入一个 5 行 5 列的二维

8、数组,编程实现:求出其中的最大值和最小值及其对应的行列位置;求出对角线上各元素之和。实验数据:1 2 3 4 52 3 4 5 63 4 5 6 74 5 6 7 85 6 7 8 9(4)设 A、B、C 为 m 行 n 列矩阵。设计矩阵加法程序,能完成 C=A+B 的操作。并输出 C 的元素值。m 与 n 用 define 定义为常量,取值 3、3。A、B 矩阵的元素值如下:实验五1实验目的通过本次实验(1)初步掌握有序数组的查找、增加、删除的编程方法;(2)初步掌握字符数组的定义、赋初值与字符串处理函数的使用方法;(3)初步掌握字符串复制、连接、测长等程序的编写方法;(4)学会打印杨辉三角

9、形的编程方法;(5)学会二维数据表的排序编程方法。2实验要求(1)编写实验程序;(2)在 VC+运行环境中,输入源程序;(3)编译运行源程序;(4)输入测试数据进行程序测试;(5)写出运行结果。3实验内容(1)已有一按从小到大次序排序好的数组,现输入一数,要求用折半查找法找出该数在数组中的位置。实验数据:数组值为:10,12,14,16,18,20,22,24,26,28输入数: 16(2)编写程序,实现 str=str1+str2 的操作,此处运算符“+”表示将两个字符串str1、str2 连接成一个字符串 str。用键盘将两个字符串输入字符数组 str1 与 str2 中,连接后的字符串存

10、放在字符数组 str 中,并输出连接后的字符串 str。1)用 C+提供的字符串处理函数完成上述要求。2)不用 C+提供的字符串处理函数完成上述要求。实验数据:abcde1 2 3 A= 4 5 67 8 93 2 1 B= 6 5 49 8 7fghij(3)设计一个程序,按习题 4.12 的要求打印杨辉三角形。(4)在表 4.4 中求每个学生的平均成绩及每门课的最高分与最低分,对学生成绩表用擂台法按平均成绩降序排序后输出。表 4.4 学生成绩情况表学 号 数 学 语 文 外 语 平均成绩1001 90 80 851002 70 75 801003 65 70 751004 85 50 60

11、1005 80 90 70最高分最低分实验六1实验目的通过本次实验(1)初步掌握函数的定义方法,及函数的三种调用方法;(2)理解参数传送过程中,值传送与传地址的过程与区别;(3)初步学会用递归编写程序方法;(4)学会用数组作为函数参数的编程方法。2实验要求(1)编写实验程序(2)在 VC+运行环境中,输入源程序;(3)编译运行源程序;(4)输入测试数据进行程序测试;(5)写出运行结果。3实验内容(1)分别用冒泡法(升序) 、选择法(降序) 、擂台法(升序)编写三个对一维数组进行排序的函数,函数名为 sort1()、sort2()、sort3() 。再定义一个输出数组元素值的函数print()。

12、在主函数中定义一维整型数组 aN(N=10) ,用键盘输入 10 个整数给 aN数组。依次调用 sort1()、print() 、sort2()、print()、sort3()、print() ,进行升序、降序、升序的操作,并输出每次排序后的结果。输入十个实验数据:10,25,90,80,70,35,65,40,55,5(2)编写一个函数 px(float x,int n)用递归的方法求下列级数前 n 项的和 s。nxxxs 16432 )(在主函数中定义变量 x 与 n,用键盘输入 x 与 n 的值,调用 px()函数计算并返回级数前 n 项和 s。最后输出 s 的值。输入实验数据:x=1.

13、2 n=10(3)编写一个字符串连接函数 str_cat(char s,char s1,char s2),完成 s=s1+s2 的字符串连接工作。具体要求为,先将字符串 s1 复制到 s 中,然后再将字符串 s2 连接到 s 后面。在主函数中定义三个字符串数组 str80、str140、str240 ,将两个字符串输入到 str1 与str2 中,调用字符串连接函数 str_cat(),将 str1 与 str2 连接到 str 中,最后输出连接后的字符串 str。要求用两种方法编写 str_cat()函数。方法一,用字符串复制与连接函数。方法二,用 while 语句编程实现。输入实验数据:s

14、tr1=”I am student” str2=”And You are student too”(4)编写一个计算 sin(x)的函数,在主函数中输入 x,调用 sin(x)函数计算并输出y 值。 y= )!12()!75!31sinnxx要求:在 sin(x)函数内,将级数中各项值累加到和变量 s 中去,直到最后一项绝对值小于 0.00001 为止。输入实验数据:x=3.14159(5)编写计算组合数的函数 cmn(int n,int m),实现如下杨辉三角形的输出。11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1实验七1实验目的

15、通过本次实验(1)掌握一维、二维数组指针变量的定义格式与引用方法;(2)掌握字符串指针变量的定义格式与引用方法;(3)学会用数组指针变量完成数组元素的数据处理,如求和、求最大值、最小值等;(4)学会用字符串指针变量处理字符串的比较、连接与测长度;(5)掌握指针与数组作为函数参数的程序编写方法。2实验要求(1)编写实验程序(2)在 VC+运行环境中,输入源程序;(3)编译运行源程序;(4)输入测试数据进行程序测试;(5)写出实验输入数据与运行结果。3实验内容(1)编写程序,用 4 种方式求整型一维数组 a10的平均值。4 种方式是指 4 种不同的数组元素表达方式。实验数据:10,20,30,40

16、,50,60,70,80,90,100(2)编写程序,用表 7.1 中的数组元素表示法中的第一种求实型二维数组 a33两条对角线元素之和。实验数据:10,25,90,80,70,35,65,40,55(3)用指针变量编写下列字符串处理函数: 字符串拼接函数,void str_cat( char *p1,char *p2)函数体 字符串比较函数,int str_cmp( char *p1,*char *p2) 函数体 取字符串长度函数,int str_len( char *p)函数体在主函数中输入两个字符串,对这两个字符串进行比较,并输出比较结果。然后将两个字符串进行拼接,输出拼接后的字符串及其

17、长度。实验数据:“Visual C+“ ,“Visual Basic“(4)用指针与数组作为函数参数,按如下四种情况用擂台法对一维实型数组 a10进行降序排序。 函数的实参为数组名,形参为数组。 函数的实参为数组名,形参为指针变量, 。 函数的实参为指针变量,形参为数组。 函数的实参为指针变量,形参为指针变量。实验数据:10,25,90,80,70,35,65,40,55,5实验八1实验目的(1)初步学会指针数组的定义与使用方法。(2)了解指向一维数组的指针变量的概念,能用指向一维数组的指针变量按行处理二维数组的问题。(3)理解返回指针值函数的概念、定义格式,学会用返回指针值函数处理字符串问题

18、。(4)理解函数指针与函数指针变量的概念,学会用函数指针变量处理不同函数数学计算问题。2实验要求(1)编写实验程序(2)在 VC+运行环境中,输入源程序;(3)编译运行源程序;(4)输入测试数据进行程序测试;(5)写出实验输入数据与运行结果。3实验内容(1)定义一个二维字符数组 s380及指针数组 p3,用 cin.getline(si,80) 输入 3 个字符串到二维数组 3 行中,然后用指针数组 p 对字符串进行降序排列(要求用擂台法) ,最后用指针数组 p 输出排序后的结果,用字符数组 s 输出排序前的三个字符串。实验数据:“Visual C+“ ,“Visual Basic“ ,“De

19、lphi“(2)输入一个二维数组 a33,设计一个函数,用指向一维数组的指针变量和二维数组的行数作为函数的参数,求出平均值、最大值和最小值,并输出。实验数据:10,25,90,80,70,35,65,40,55(3)设计程序,用函数指针变量完成两个操作数的加、减、乘、除、取余运算。实验数据:10 + 2010 - 510 * 1510 / 210 % 3 (4)设计一个用梯形法求定积分的通用函数,被积函数的指针、积分的上限、积分的下限和积分的区间等分数作为函数的参数。分别求出下列定积分的值。dxs213)ln(412)(dxes312)in(实验九1实验目的(1)初步学会用枚举类型变量处理有限

20、元素组成的集合问题。(2)掌握结构体类型、结构体变量、结构体数组的定义格式。(3)学会使用结构体变量与结构体数组处理如职工档案、职工工资等问题。2实验要求(1)编写实验程序;(2)在 VC+运行环境中,输入源程序;(3)编译运行源程序;(4)输入测试数据进行程序测试;(5)写出运行结果。3实验内容(1)从 A、B、C、D 四个字母中任取 3 个不同的字母,共有多少种取法?编写程序,输出所有取法中字母排列。(2)定义职工工资结构体类型,描述职工工资的信息有:工号(num)、姓名(name)、基本工资(base_salary)、岗位工资 (post_salary)、医疗住房基金(fund) 、税金

21、(tax)与实发工资(fact_salary)。用工资结构体类型定义工资结构体变量。用初始化方式输入职工工资各数据成员内容,然后输出职工工资内容。实验数据:1001,张明,1200,1800,300,100,2600(3)用实验(2)中的职工工资结构体类型定义某车间职工工资结构体数组。编写四个函数分别用于: 输入全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金与税金。 计算每一个职工实发工资,计算公式:实发工资=基本工资+ 岗位工资-医疗住房基金-税金。 按实发工资降序排序。 输出全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金、税金与实发工资。在主函数中定义职工工资数组,调用

22、四个函数完成输入、计算实发工资、排序、输出工作。实验数据:1001,张明,1200,1800,300,1001002,周明,1300,2000,310,1101003,李明,1400,2200,320,1201004,陈明,1500,2400,330,1301005,赵明,1600,2600,340,140(4)定义描述复数的结构体类型 Complex,编写加法函数 Add()完成两个复数的加法运算。在主函数中定义复数类型变量 sum 与数组 c5。用循环语句给数组 c 的 5 个元素输入复数值,并调用 Add()函数完成 sum=c0+c1+c2+c3+c4的操作,最后输出数组 c的 5 个

23、复数值,及其复数 sum 的值。实验数据:c0=10+10i,c1=20+20i,c2=30+30i,c3=40+40i,c4=50+50i(5)定义描述矩形的结构体类型,该结构体类型的数据成员为矩形的左上角坐标(x1,y1),矩形的长 length 与宽 width。编写函数 Area()计算出矩形的周长与面积。在主函数中定义矩形结构体变量,输入矩形的左上角坐标与矩形的长与宽,调用 Area()计算出矩形的周长与面积,并输出矩形的左上角坐标、周长与面积。实验数据:100,100,200,50实验十1实验目的(1)理解链表的概念及使用链表的优点。(2)学会链表的建立、查询、输出、删除、排序等操

24、作。(3)初步学会用链表处理职工工资等实际问题。2实验要求(1)编写实验程序;(2)在 VC+运行环境中,输入源程序;(3)编译运行源程序;(4)输入测试数据进行程序测试;(5)写出运行结果。3实验内容(1)建立一个描述职工工资的无序链表,各结点内容如表 8.4 所示。计算出各职工的实发工资,并输出链表中各职工结点的内容。最后删除链表,回收链表占用空间。建立无序链表、计算实发工资(实发工资=应发工资-税金) 、输出链表、删除链表各用一个函数实现。在主函数中调用四个函数完成上述操作。表 8.4 职工工资表no(工号) name8 (姓名) dsalary (应发工资) tax(税金) fsalary (实发工资 )1001 Zhang 1900 851002 Wang 1800 801003 Li 1700 701004 Zhou 2000 90(2)在实验(1)的基础上,再编写能删除指定工号结点的函数,能在指定工号结点前插入新职工结点的函数。在主函数中输入要删除与插入结点的工号,并调用删除与插入函数删除与插入指定结点。插入新职工的信息在插入函数内输入。(3)建立一个描述职工工资的有序链表,各结点内容如表 8.4 所示,输入职工信息时自动计算实发工资,链表按实发工资升序排列。输出有序链表各结点内容,最后删除链表。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。