C++程序设计实验报告_第1页
C++程序设计实验报告_第2页
C++程序设计实验报告_第3页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验项目名称VisualC+实验环境熟悉及C+语言初步实验目的1.了解VisualC+的安装与使用2熟悉VisualC+程序的编辑、编译、运行及调试3熟悉简单C/C+程序的基本组成。4. 掌握C/C+程序中输入输出数据的基本方法。5. 掌握编译预处理命令的使用。6写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。三、实验基本原理四、主要仪器设备及耗材PC微机Windows操作系统MicrosoftVisualC+6.0程序集成环境五、实验步骤、源程序及实验结果1下列程序是从键盘输入一个整数,然后计算它的平方并以十六进制的形式输出。请在VisualC+输出、调试

2、该程序。#include"iostream.h"voidmain()intx;cin>>x;inty=x*x;cout<<"x*x="<<hex<<y<<endl;程序运行结果:2编写一个计算梯形面积的程序。要求梯形的上底、下底和高在变量初始化时直接赋值。源程序:#inelude<iostream.h>voidmain()floata,b,c,s;a=3.0;b=4.0;c=5.0;s=0.5*(a+b)*c;cout<<"s="<<s&l

3、t;<endl;程序运行结果:3编写一个计算一个学生三门课平均成绩的程序。要求学生成绩从键盘输入。源程序:#include<iostream.h>voidmain()inta,b,c,d;cin>>a»b»c;d=(a+b+c)/3;cout<<"d="<<d<<endl;4.编写一个计算和估计地球重量的程序,并测试它。地球的半径为6356.91千米,平均密度为每立方米5.52吨。要求地球半径从键盘输入,地球密度定义成符号常量。源程序:#include<iostream.h>#

4、definePI3.14159#defineP5.52e3voidmain()floatr,m;cin»r;m=P*4/3*PI*r*r*r;cout<<"m="<<m<<endl;程序运行结果:程序运行结果:七、思考讨论题或体会或对改进实验的建议八、参考资料中国铁道出版社C+程序设计杨长兴、刘卫国主编-、实验项目名称顺序结构程序实验目的1 掌握VisualC+中的基本数据类型及常量、变量、运算符和表达式的使用;2 学会运用已经学过的内容,设计简单的程序;3能阅读、分析、调试简单的程序。4写出实验步骤,分析调试中出现的问题及解决

5、方法,给出改进方案,写出程序文档和调试数据。三、实验基本原理四、主要仪器设备及耗材PC微机Windows操作系统MicrosoftVisualC+6.0程序集成环境五、实验步骤、源程序及实验结果1分析、调试下面的程序,并体会强制数据类型转换的意义。本程序求3位学生的平均成绩,并对第三位小数四舍五入后保留二位小数。程序:#include"iostream.h"voidmain()floats1,s2,s3;doubleaver;cout<<"输入三个数据:"<<endl;cin>>s1»s2»s3;a

6、ver=(s1+s2+s3)/3;aver=aver*100+0.5;aver=(int)aver;aver=aver/100;cout<<"平均值="<<aver<<endl;:DocuAentsan.,xj"C:Docioinsand程序运行结果:输入三个釵据:bsL平均值=80Pressani/tocontinue2输入直角三角形的两条直角边长,调用平方根库函数sqrt求斜边的长度。源程序:#inelude<iostream.h>#inelude<math.h>voidmain()floata,b,

7、c;cin>>a»b;c=sqrt(a*a+b*b);cout<<"c="<<c<<endl;程序运行结果:输出阴影部分面积,输入直角坐标系中点P的坐标(x,y),若P点落在图222中的阴影区域内,否则输出数据0。源程序:#inelude<iostream>#inelude<cmath>#definePI3.14159usingnamespacestd;intmain()floatx,y,z,s;z=sqrt(x*x+y*y);cout<<"请输入x,y:"ci

8、n>>x»y;s=Pl*4*4-PI*2*2;if(z>2)cout<<"s="<<s<<endl;elsecout<<"s=0"<<endl;return0;程序运行结果:CAC:DocuAent3andS-."C:Dacument请输入心护L=37-69?1Pressanvkeytocontinue3. 任意输入3个数据,输出它们的平均值和最小的一个数。源程序:#include<iostream>usingnamespacestd;intma

9、in()floats1,s2,s3;doubleaver,min;cout<<"请输入s1,s2,s3:"cin>>s1»s2»s3;aver=(s1+s2+s3)/3;cout<<aver<<endl;if(s1>s2&&s1>s3)if(s2>s3)cout<<"min="<<s3<<endl;elsecout<<"min="<<s2<<endl;elseco

10、ut<<"不存在"<<endl;return0;程序运行结果:4. 将"fly"译成密码”iob"。编码规律:将字母a变成字母d,即变成其后的第3个字母,x变成a,y变成b,z变成c。(提示:用赋初值的方法使cl、c2、c3的值分别为f'、I'、y',按编码规则改变cl、c2、c3后,将结果输出。)源程序:#include<iostream>usingnamespacestd;voidmain()charc1,c2,c3;c仁'f;c2=T;c3='y:c1=c1+3;

11、c2=c2+3;c3=c3-23;cout<<c1<<c2<<c3<<endl;程序运行结果:c'-Docu»entsandSettingsk01桌面Debug-.-|口XPressanykeytocontinue_JA七、思考讨论题或体会或对改进实验的建议八、参考资料C+程序设计杨长兴、刘卫国主编中国铁道出版社实验项目名称分支结构程序实验目的1熟练掌握关系及逻辑表达式在程序设计中的灵活运用。2熟悉利用if语句的各种形式实现不同分支选择的方法。3.掌握使用switch语句实现多分支选择的方法。4写出实验步骤,分析调试中出现的问题

12、及解决方法,给出改进方案,写出程序文档和调试数据三、实验基本原理四、主要仪器设备及耗材PC微机Windows操作系统MicrosoftVisualC+6.0程序集成环境五、实验步骤、源程序及实验结果1. 修改下面程序中的错误:以下程序的功能是求两个非0整数相除的商和余数。程序有五处错误(包括warning警告性错误),试找出它们加以修改,并上机验证修改结果。#include"iostream.h"main()intx,y,r1,r2;cin>>x»y;if(x=0|y=0)cout<<”inputerror”<<endl;els

13、eif(x>y)r1=x/y;r2=x%y;elser仁y/x;r2=y%x;cout<<”商=”<<r1<<”余数=”<<r2<<endl;修改后的源程序:#include"iostream.h"intmain()intx,y,r1,r2;cin>>x»y;if(x=0|y=0)cout<<"inputerror"<<endl;elseif(x>y)r1=x/y;r2=x%y;elser1=y/x;r2=y%x;cout<<

14、"商="<<r1<<"余数="<<r2<<endl;return0;程序运行结果:程序运行结果:別元基数r毎小时2.5元,毎慟2元,10小时1050小时刘小时2编一程序输入上网的时间计算上网费用,计算的方法如下:费用=同时为了鼓励多上网,每月收费最多不超过130元。提示:先按照上述公式求,然后判断求得的钱若超出130元,就按130元计算。源程序:#include<iostream>usingnamespacestd;intmain()floatx,y;cout<<"请输入x

15、:"cin>>x;if(x<10)cout<<"y=30"<<endl;elseif(x<50)y=2.5*x;elseif(x>=50)y=2*x;if(y<=130)cout<<"y="<<y<<endl;elsecout<<"y=130"<<endl;return0;程序运行结果:Lt*C:VDocuaeirtsand.-情输人X呦y=130riessfuiyket/tocontxnueB1u&quo

16、t;I1Lt*C:VDocuaeirtsand.-情输人X呦y=130riessfuiyket/tocontxnueB1u"I13在购买某物品时,若所花的的钱x在下述范围内,所付钱分别利用if和switch两种多分支结构来完成。提示:注意计算公式和条件表达式的正确书写。源程序:#include<iostream>usingnamespacestd;intmain()floatx,m;cout<<"请输入所花的钱:";cin>>x;if(x<100)m=x;elseif(x<500)m=0.8*x;elseif(x&g

17、t;=500)m=0.7*x;cout<<"m="<<m<<endl;return0;y按对应折扣支付:程序运行结果:沁*C:Docu>entsandSet.慣输入所花的钱£0Li"80Pressansrkeytocontinne七、思考讨论题或体会或对改进实验的建议八、参考资料C+程序设计杨长兴、刘卫国主编中国铁道出版社实验项目名称循环控制结构实验目的1了解for循环、当型循环和直到型循环的执行机理。2. 熟练掌握三种循环语句:while语句、do_while语句和for语句的使用。3. 了解break和con

18、tinue语句在循环中的辅助控制作用。4掌握利用循环语句求解一些常用算法的方法5.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档三、实验基本原理四、主要仪器设备及耗材PC微机Windows操作系统MicrosoftVisualC+6.0程序集成环境五、实验步骤、源程序及实验结果1. 以下程序求20以内的奇数和。程序有几处错误,试找出它们加以修改,并上机验证修改结果。#include“iostream.h”voidmain()intn,sum;for(n=1;n+=2);if(n=20)break;cout<<”sum=”<<sum<<

19、;endl;修改后源程序:#include<iostream.h>voidmain()intn,sum=0;for(n=1;*20;n+=2)sum+=n;cout<<"sum="<<sum<<endl;程序运行结果:编写程序将一个十进制整数按倒序形式输出。即若输入156,则输出651。提示:实现的方法是将一个十进制数不断除以十取余,并马上输出该余数。源程序:#include<iostream.h>voidmain()intn,r;cout<<"请输入一个十进制整数cin»n;dor

20、=n%10;n/=10;cout<<r;while(n>0);cout<<endl;程序运行结果:3计算II.的近似值,片的计算公式为:23jc=2x;4262eX-V.x1x33x55x7(加1”如1)源程序:#include<iostream>usingnamespacestd;intmain()intn=2;doublet(4.00000/3),pi(2);while(t>=1.000000000000001)pi=pi*t;t=(2*n)*(2*n)*1.0/(2*n-1)*(2*n+1);n+;cout<<"pi:

21、"<<pi<<endl;return0;程序运行结果:hIm七、思考讨论题或体会或对改进实验的建议八、参考资料C+程序设计杨长兴、刘卫国主编中国铁道出版社一、实验项目名称函数二、实验目的1 掌握函数声明、定义和使用的方法;2 掌握函数递归调用的方法;3掌握“传值调用”、“传址调用”和“引用调用”的区别;4掌握重载函数、内联函数、带有默认参数的函数及模板函数的定义和使用。5掌握自动变量、静态局部变量与全局变量之间的联系与区别。6学习使用指针和引用给函数传递参数;7.掌握给函数传递数组参数的方法;&掌握定义头文件的方法,学会建立和调试多文件程序;9写出实验

22、步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。三、实验基本原理四、主要仪器设备及耗材PC微机Windows操作系统MicrosoftVisualC+6.0程序集成环境五、实验步骤、源程序及实验结果1编一函数,求级数时结束。设":-'一1'''的部分和,当第n项的精度小于epseps的默认值为10-6。函数形式为:doublefun(doublx,doubleeps=1e-6);源程序:#include<iostream>#include<cmath>usingnamespacestd;doublef

23、un(doublex,doubleeps=1e-6);voidmain()doublex,s;cout<<"请输入x的值:"cin>>x;s=fun(x);cout<<"x="<<x<<""<<"s="<<""<<s<<endl;doublefun(doublex,doubleeps)intn=1;doublet,s(0);t=x;while(fabs(t)>=eps)s+=t;t=

24、-t*x*x/(n+1)*(n+2);n+=2;return(s);程序运行结果:2编一判断m是否为素数的函数,在主函数中输出十对最小的孪生素数。所谓孪生素数是指两个相差为2的素数,如3和5、11和13。函数形式为:boolisprime(intm)源程序:#inelude<iostream>usingnamespacestd;boolisprime(intm)inti;for(i=2;m%i!=0;i+);return(i=m);voidmain()intx,count=0;x=2;while(1)if(isprime(x)&&isprime(x+2)count+

25、;cout<<"("<<x<<","<<x+2<<")"<<endl;if(count>=1O)break;x+;程序运行结果七、思考讨论题或体会或对改进实验的建议八、参考资料C+程序设计杨长兴、刘卫国主编中国铁道出版社实验项目名称数组实验目的1掌握一维数组和二维数组的定义、赋值和输入输出方法;2 掌握字符数组和字符串的使用;3 掌握给函数传递数组参数的方法;4 掌握与数组有关的简单数据结构和算法;5 写出实验步骤,分析调试中出现的问题及解决方法,给出改进方

26、案,写出程序文档和调试数据。三、实验基本原理四、主要仪器设备及耗材PC微机Windows操作系统MicrosoftVisualC+6.0程序集成环境五、实验步骤、源程序及实验结果a的内容为“VISUALC+PROGRAM1编一个程序,将一串字符倒序存放后输出。例如原数组倒许序后数组a中的内容为“MAGORP+CLASUIV。源程序:#inelude<iostream>#include<iomanip>#defineN10usingnamespacestd;intmain()inti,j=0;charaN,bN;for(i=0;i<N;i+)cin>>a

27、i;for(i=0;i<N;i+)bj=aN-i-1;j+;for(j=0;j<N;j+)cout<<setw(2)<<bj;cout<<endl;return0;程序运行结果:2.输出输入一个小于10的正整数n,显示具有n行的杨辉三角形,见图。提示:解该题有两个关键: 形成满足杨辉三角形各项值的数组。首先定义二维数组a1010,杨辉三角形的形成特点是第1列(下标为0)和主对角线均为1,其余各项有如下关系:aij=ai-1j-1+ai-1ji=2,3,n-1j=1,2,i-1按规定的形式显示,用到setw(n),表示每一个元素占n位,使用setw

28、(n)函数,必须加#includeiomanip.h。赴W+啊弭干一-卜13一us*BSD'行脸&1陋入行數十&1s*11i11211211331i331146>411464IL510Ifl5115ie51Jtregs4nu*(keytacontinuepressmvhev1tocantinuc*E2.51运行錯果图2.52运行结果进一步要求,若要显示图结果,程序要进行如何改进?提示:只要在输出每一行元素前,利用如下语句确定每行的起始位:cout<<setw(n-i)*3<<”“;3表示每个元素占6位源程序;#inelude<iost

29、ream>#include<iomanip>usingnamespacestd;voidmain()inta1O1O,i,j,n;cin»n;for(i=0;i<n;i+)ai0=1;aii=1;for(i=2;i<n;i+)for(j=1;j<i;j+)aij=ai-1j+ai-1j-1;for(i=0;i<n;i+)for(j=0;j<=i;j+)cout<<setw(6)<<aij;cout<<endl;程序运行结果:2、DociuentsandSet:tingskO.n111121133114

30、64115101051*rniykeytocontinueu|Fl1?源程序:#include<iostream>#include<iomanip>usingnamespacestd;voidmain()inta1O1O,i,j,n;cin»n;for(i=0;i<n;i+)ai0=1;aii=1;for(i=2;i<n;i+)for(j=1;j<i;j+)aij=ai-1j+ai-1j-1;for(i=0;i<n;i+)cout<<setw(n-i)*3)<<""for(j=0;j<=

31、i;j+)cout<<aij<<setw(6);cout<<endl;程序运行结果:程序运行结果:七、思考讨论题或体会或对改进实验的建议八、参考资料C+程序设计C+程序设计杨长兴、刘卫国主编中国铁道出版社实验项目名称指针和排序实验目的1掌握指针的概念、学会定义和使用指针变量;2掌握引用型变量的概念、学会定义和使用引用型变量;3学习使用指针数组和指向数组的指针;4. 学习使用指向字符串的指针变量;5. 掌握常用的排序算法6写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。三、实验基本原理四、主要仪器设备及耗材PC微机Windo

32、ws操作系统MicrosoftVisualC+6.0程序集成环境五、实验步骤、源程序及实验结果1输入一串字符,分别利用字符数组、指针变量两种种方式,将字符串中的大写字母转换成小写字母,并分别显示。源程序1(字符数组方式):#include<iostream>#include<string>usingnamespacestd;voidmain()chara100;inti,j;cout<<"pleaseinputchars:"cin.getline(a,100);for(j=0;j<=strlen(a)_1;j+)i=aj;if(i&

33、lt;97&&i>=65)aj=(char)i+32;for(j=0;j<=strlen(a);j+)cout<<aj;cout<<endl;程序运行结果:/>1源程序2(指针变量):#include<iostream>#include<string>usingnamespacestd;voidmain()chara100;char*p=a;inti,j;cout<<"pleaseinputchars:"cin.getline(a,100);for(j=0;j<=strlen

34、(a)_1;j+)i=aj;if(i<97&&i>=65)aj=(char)i+32;for(j=0;j<=strlen(a);j+)cout<<*(a+j);cout<<endl;程序运行结果:C:Docu*entsandSet.pleseinputchars:HlJKLMNliijklnnPressan9k旧ytocontinue2.输入20个学生的计算机课程的成绩(0100),按照从大到小的顺序排序,分别显示排序前和排序后的结果。源程序:#include<iostream>#include<iomanip>

35、usingnamespacestd;#defineN20voidpx(int*p,intn)inti,j,t;for(i=0;i<n-1;i+)for(j=0;j<n-i-1;j+)if(*(p+j)<*(p+j+1)t=*(p+j);*(p+j)=*(p+j+1);*(p+j+1)=t;voidmain()inti;intaN;cout<<"pleaseinputnumbers"for(i=0;i<N;i+)cin>>ai;px(a,N);for(i=0;i<N;i+)cout<<setw(6)<&l

36、t;ai;cout<<'n:程序运行结果:兀*C:Docu>entsandSettingsMOlMyDocu>entsDebugCpp1.exepleaseinputnunher?7278798159G7G8918172737&5?6?818Q838?9467?0949187638181Bl8079787673706St767675959Pressan5,kwytocantinuEM七、思考讨论题或体会或对改进实验的建议八、参考资料C+程序设计杨长兴、刘卫国主编中国铁道出版社一、实验项目名称自定义数据类型二、实验目的1掌握结构体变量的定义和使用;2掌握结构体数组的定义和使用;三、实验基本原理四、主要仪器设备及耗材PC微机Windows操作系统MicrosoftVisualC+6.0程序集成环境五、实验步骤、源程序及实验结果1定义学生档案结构体类型,描述的数据包括:学号、姓名、性别、出生年月、入学总分和籍贯。输入5个学生档案的内容,并输出学生档案。源程序:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论