大学c++上机实习试题_第1页
大学c++上机实习试题_第2页
大学c++上机实习试题_第3页
大学c++上机实习试题_第4页
大学c++上机实习试题_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

计算机程序设计根底〔C++〕实验报告软件学院二O一O年三月实验__1__实验报告教学班级:32学生学号:学生姓名:实验日期:2023.03.25实验地点:7308(机房)指导教师签名:__________实验成绩:___________一、实验目的1.熟悉Visualstudio6.0集成开发环境;2.学习新建和翻开控制台应用程序的方法;3.通过运行例如程序了解程序开发过程;二、实验任务1.输出下面图形:2.输入一摄氏温度,输出显示所转换的华氏温度。〔提示:摄氏温度=(华氏温度-32)×5/9〕三、实验结果〔源程序+注释〕程序一#include<iostream>usingnamespacestd;voidmain(){cout<<"*"<<endl;//输出*cout<<"****"<<endl;//输出****cout<<"****"<<endl;//输出****cout<<"*"<<endl;}//输出*程序二#include<iostream>usingnamespacestd;voidmain(){doublea,b;//定义两个double型变量a,bcout<<"请输入摄氏温度...."<<endl;//输出"请输入摄氏温度...."cin>>a;//输入ab=a*9/5.0+32;//计算a*9/5.0+32并赋值给bcout<<"华氏温度为"<<b<<endl;}//输出"华氏温度为"和b的值实验__2__实验报告教学班级:32学生学号:20230676学生姓名:实验日期:2023.04.1实验地点:7308(机房)指导教师签名:__________实验成绩:___________一、实验目的1.掌握对一般数据的输入和输出格式控制方法;2.掌握对实型数据输出形式的设置和小数位数的控制方法;3.了解数据输入的相关考前须知。二、实验任务998.00元,注意此处计算机的编号作为一个整数而言超出了int所定义的变量的存储范围,因此只能用double型变量来存储,但输出时要求看见的是整数形式的编号〕2.输入三个同学的学号,计算机和英语课程的考试成绩,并输出这些信息。要求每个同学的三个信息输出在同一行上,三行输出信息要各列对齐。三、实验结果〔源程序+注释〕程序一#include<iostream>usingnamespacestd;voidmain(){doublea,b;//定义变量a,bcout<<"请输入计算机编号和该计算机价格:"<<endl;//输出提示cin>>a>>b;//输入a,bcout<<fixed;//控制格式cout.precision(0);//保存0位小数cout<<"计算机编号为:"<<a<<endl;//输出计算机编号cout.precision(2);//保存两位小数cout<<"计算机的价格为:"<<b<<endl;//输出计算机价格}程序二#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){doublea1,a2,a3,b1,b2,b3,c1,c2,c3;//定义变量cout<<"请输入甲的学号,计算机成绩,英语成绩:"<<endl;//输出提示cin>>a1>>a2>>a3;//输入变量的值cout<<"请输入乙的学号,计算机成绩,英语成绩:"<<endl;//输出提示cin>>b1>>b2>>b3;//输入变量的值cout<<"请输入丙的学号,计算机成绩,英语成绩:"<<endl;//输出提示cin>>c1>>c2>>c3;//输入变量的值cout<<fixed;//输出格式控制cout.precision(0);//保存2位小数cout<<setw(6)<<"学号"<<setw(15)<<"计算机成绩"<<setw(15)<<"英语成绩"<<endl;//输出信息cout<<a1<<setw(10)<<a2<<setw(15)<<a3<<endl;//输出甲的学号,计算机成绩,英语成绩cout<<b1<<setw(10)<<b2<<setw(15)<<b3<<endl;//输出乙的学号,计算机成绩,英语成绩cout<<c1<<setw(10)<<c2<<setw(15)<<c3<<endl;//输出丙的学号,计算机成绩,英语成绩}实验__3__实验报告教学班级:32学生学号:20230676学生姓名:实验日期:2023.04.08实验地点:7308(机房)指导教师签名:__________实验成绩:___________一、实验目的掌握“处理某一或某些操作只有在特定条件成立的情况下才会被执行〞的编程思路

和方法;掌握“一路分支选择结构〞算法的实现语句,if语句的使用方法;掌握“二路分支选择结构〞算法的实现语句,if-else语句的使用方法;二、实验任务1.有一个函数,输入x的值,输出相应的函数值。〔提示:x取值分大于零和小于等于0的两段,对输入的x值,在计算前应判断范围,采用不同的计算公式。〕2.一函数,输入x的值,求解并输出相应的y值。〔提示:该题根据x的取值范围采用不同公式来计算y的值。显然采用if选择结构可实现该程序。〕三、实验结果〔源程序+注释〕程序一#include<iostream>usingnamespacestd;voidmain(){doublex;cout<<"请输入x的值:"<<endl;cin>>x;if(x>0)x=x+1;elsex=x*x;cout<<x<<endl;}程序二#include<iostream>usingnamespacestd;voidmain(){doublex;cin>>x;if(x<1)x=x;elseif(x>=1&&x<10)x=2*x-1;elseif(x>=10)x=3*x-11;cout<<x<<endl;}实验__4__实验报告教学班级:32学生学号:20230676学生姓名:实验日期:2023.04.15实验地点:7308(机房)指导教师签名:__________实验成绩:___________一、实验目的1.掌握“多路分支选择结构〞算法的实现语句,switch语句的使用方法;2.学习通过程序调试来跟踪程序运行过程,查看程序运行过程中各个变量的取值变化情况。二、实验任务1.实现一个简单的菜单程序,运行时显示 Menu: A〔dd〕 D〔elete〕 S〔ort〕 Q〔uit〕 Selectone:要求用户提供相应的输入,并在用户输入A,D,S时分别提示“数据已经增加、删除、排序〞,输入为Q时程序结束。〔提示:该程序要求用户输入特定的A,D,S,Q字符显示相应信息,所以适合采用switch结构。〕2.某公司进行产品销售,既零售也批发,零售的价格与批发的价格不同,购置产品数量的多与少其价格也不同。具体标准见下表:批发商零售商数量〔个〕单位价格〔元/个〕数量〔个〕单位价格〔元/个〕50~200101~2018200以上820~401540~5012三、实验结果〔源程序+注释〕程序一#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){charx;cout<<"Menu:"<<endl;cout<<setw(8)<<"A(dd)"<<endl;cout<<setw(11)<<"D(elete)"<<endl;cout<<setw(9)<<"S(ort)"<<endl;cout<<setw(9)<<"Q(uit)"<<endl;cout<<setw(14)<<"Selectone:"<<endl;for(;x!='q';){cin>>x;switch(x){case'A':case'a':cout<<"数据已增加"<<endl;break;case'D':case'd': cout<<"数据已删除"<<endl;break;case'S':case's': cout<<"数据已排序"<<endl;break;case'Q':case'q': break;default: cout<<"输入错误!!"<<endl;break;}}}程序二#include<iostream>usingnamespacestd;voidmain(){inta;cout<<"请输入购置产品个数:"<<endl;cin>>a;if(a>=1&&a<=20){a=18*a;cout<<"零售客户"<<"产品单价18"<<"总金额为"<<a<<endl;}elseif(a>20&&a<=40){a=15*a;cout<<"零售客户"<<"产品单价15"<<"总金额为"<<a<<endl;}elseif(a>40&&a<=50){a=12*a;cout<<"零售客户"<<"产品单价12"<<"总金额为"<<a<<endl;}elseif(a>50&&a<=200){a=10*a;cout<<"批发客户"<<"产品单价10"<<"总金额为"<<a<<endl;}elseif(a>200){a=8*a;cout<<"批发客户"<<"产品单价8"<<"总金额为"<<a<<endl;}elsecout<<"输入错误!!~"<<endl;}实验__5__实验报告教学班级:32学生学号:20230676学生姓名:实验日期:2023.04.22实验地点:7308(机房)指导教师签名:__________实验成绩:___________一、实验目的1.掌握“处理某一或某些操作需要被有条件地重复执行〞的编程思路和方法;2.掌握“当型型循环结构〞算法的实现语句之一while循环语句的使用方法;3.掌握“直到型循环结构〞算法的实现语句do-while循环语句的使用方法;4.掌握“当型型循环结构〞算法的实现语句之一for循环语句的使用方法。二、实验任务1.计算1-2+3-4+…+99-100。2.输入一个整数,将各位数字反转后输出。三、实验结果〔源程序+注释〕程序一#include<iostream>usingnamespacestd;voidmain(){inti,a,sum;for(i=1,a=1,sum=0;a<=100;i=-i,a++){sum=sum+i*a;}cout<<"1-2+3-4+.....+99-100="<<sum<<endl;}程序二#include<iostream>usingnamespacestd;voidmain(){inta,b,s=0;cin>>a;for(;a!=0;a=(a-b)/10){b=a%10,s=s*10+b;}cout<<s<<endl;}实验__6__实验报告教学班级:32学生学号:20230676学生姓名:实验日期:2023.04.29实验地点:7308(机房)指导教师签名:__________实验成绩:___________一、实验目的1.掌握循环与选择结构的嵌套的使用方法;2.掌握嵌套循环的使用方法;3.练习continue和break语句的使用方法。二、实验任务1.求两个整数的最大公约数和最小公倍数。2.用循环结构语句编程并输出下列图:************三、实验结果〔源程序+注释〕程序一#include<iostream>usingnamespacestd;voidmain(){inta,b,c,d,e;cout<<"请输入数字a:"<<endl;cin>>a;cout<<"请输入数字b:"<<endl;cin>>b;d=a,e=b;for(;a%b!=0;){c=a%b,a=b,b=c;}a=d*e/b;cout<<"两数的最大公约数为:"<<b<<endl;cout<<"两数的最小公倍数为:"<<a<<endl;}程序二#include<iostream>usingnamespacestd;voidmain(){inti,j;for(i=1;i<=4;i++,cout<<endl){for(j=1;j<=4-i;j++)cout<<"";for(j=1;j<=2*i-1;j++){if(j==1||j==2*i-1)cout<<"*";elsecout<<"";}}for(;i>=5&&i<=7;i++,cout<<endl){for(j=1;j<=i-4;j++)cout<<"";for(j=1;j<=15-2*i;j++){if(j==1||j==15-2*i)cout<<"*";elsecout<<"";}}}实验__7__实验报告教学班级:32学生学号:20230676学生姓名:实验日期:2023.05.06实验地点:7308(机房)指导教师签名:__________实验成绩:___________一、实验目的1.掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法;2.掌握数值型一维数组的使用方法;二、实验任务1.输入n个数,找出所有大于n个数的平均值的那些数及最小数。2.设有有序〔值从小到大〕的两组数据,将这两组数据有序合并〔合并过程数据始终保持有序〕。〔提示:两组原始数据用一维数组a,b表示,合并后的数据用一维数组c表示,ia,ib分别代表当前待放入到数组c中去的数组a,b的下标,ic指向数组c中当前存放数据的下标,如下列图所示。〕三、实验结果〔源程序+注释〕程序一#include<iostream>usingnamespacestd;voidmain(){intn,i,a;floatnum[50],sum=0.0,ave;cout<<"请输入数据的个数:"<<endl;cin>>n;for(i=0;i<n;i++){cout<<"请输入第"<<i+1<<"个数:"<<endl;cin>>num[i];}for(i=0;i<n;i++)sum=sum+num[i];ave=sum/n;for(i=0;i<n;i++)if(num[i]>ave)cout<<"高于平均值的数据有:"<<num[i]<<endl;a=num[0];for(i=1;i<n;i++){if(a>=num[i])a=num[i];}cout<<"其中最小的数为:"<<a<<endl;}程序二#include<iostream>usingnamespacestd;voidmain(){intd,e,f,g,h,i,j,k;cout<<"请输入第一组数的个数:"<<endl;cin>>d;cout<<"请输入第二组数的个数:"<<endl;cin>>e;f=d+e;floata[50],b[50],c[100];for(g=0;g<=d-1;g++){cout<<"输入第一组第"<<g+1<<"个数:";cin>>a[g];}for(h=0;h<=e-1;h++){cout<<"输入第二组第"<<h+1<<"个数:";cin>>b[h];}a[d]=b[e-1];b[e]=a[d-1];for(i=0,j=0,k=0;k<=f-1;k++)if(a[i]<b[j]){c[k]=a[i];if(i<=d)i++;}else{c[k]=b[j];if(j<=e)j++;}for(i=0;i<=f-1;i++)cout<<c[i]<<"";cout<<endl;}实验__8__实验报告教学班级:32学生学号:20230676学生姓名:实验日期:2023.05.13实验地点:7308(机房)指导教师签名:__________实验成绩:___________一、实验目的1.掌握对一组同类型的数据进行插入、删除、排序和查找等的常用算法;2.掌握二维数值型数组的使用方法;二、实验任务1.输出以下杨辉三角形。111121133114641151010511615201561172135352171182856705628811936841261268436912.有一个34的矩阵,要求编程序找出每一行中值最大的那个元素并与该行第1列的元素交换。三、实验结果〔源程序+注释〕程序一#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){inta[20][40];inti,j;for(i=0;i<=11;i++){a[i][11-i]=1;a[i][i+11]=1;}for(i=2;i<=11;i++)for(j=13-i;j<=i+9;j=j+2){a[i][j]=a[i-1][j-1]+a[i-1][j+1];}for(i=0;i<=11;i++,cout<<endl){for(j=0;j<=10-i+2*(11-i);j++)cout<<"";for(j=11-i;j<=i+11;j=j+2){cout<<setw(4)<<a[i][j];cout<<"";}}}程序二#include<iostream>usingnamespacestd;voidmain(){inta[3][4],i,j,b,c;cout<<"输入一个3*4的矩阵:"<<endl;for(i=0;i<=2;i++)for(j=0;j<=3;j++)cin>>a[i][j];for(i=0;i<=2;i++){for(j=0;j<=2;j++){if(a[i][j]<a[i][j+1])b=j+1;}c=a[i][0],a[i][0]=a[i][b],a[i][b]=c;}cout<<"转换后的矩阵为:"<<endl;for(i=0;i<=2;i++,cout<<endl)for(j=0;j<=3;j++)cout<<a[i][j]<<"";}实验__9__实验报告教学班级:32学生学号:20230676学生姓名:实验日期:2023.05.20实验地点:7308(机房)指导教师签名:__________实验成绩:___________一、实验目的1.熟练指针变量的使用,了解其编程技巧;2.熟练指针变量做函数参数,了解其传递过程;3.熟练指向数组元素的指针,了解指针引用数组元素的编程技巧。二、实验任务1.使用指针法在的一组数据中,找出其中最大值所在的位置并输出。2.使用指针法对一维数组a中的数据按降序排列。三、实验结果〔源程序+注释〕程序一#include<iostream>usingnamespacestd;voidmain(){inta[50],n,i,j,*p,*k;cout<<"输入数据的个数:"<<endl;cin>>n;cout<<"输入数据:"<<endl;for(i=0;i<=n-1;i++)cin>>a[i];for(p=a,j=*p,k=p;p<a+n;p++){if(j<*(p+1))j=*(p+1),k=p+1;}cout<<"此数据中最大的数为:"<<j<<endl;cout<<"在此数据中的第"<<k-a+1<<"位."<<endl;}程序二#include<iostream>#include<iomanip>usingnamespacestd;voidmain(){inta[50],n,i,m,*p,*q;cout<<"输入数据的个数:"<<endl;cin>>n;cout<<"输入数据:"<<endl;for(i=0;i<n;i++)cin>>a[i];for(p=a;p<a+n-1;p++)for(q=p;q<a+n-1;q++)if(*p<*(q+1)){m=*p,*p=*(q+1),*(q+1)=m;}cout<<"降序排列后的数据为:";for(p=a;p<a+n;p++)cout<<setw(4)<<*p;cout<<endl;}实验__10__实验报告教学班级:32学生学号:20230676学生姓名:实验日期:2023.05.27实验地点:7308(机房)指导教师签名:__________实验成绩:___________一、实验目的1.了解存放常用的系统函数的头文件;2.掌握常用系统函数的功能和使用方法;3.掌握返回值的概念和运用。二、实验任务1.接受用户输入的数值,计算该数的绝对值和该绝对值以10为底的对数值,并输出计算结果。〔提示:使用内置的绝对值函数和对数函数。〕2.编写两个子函数,分别求两个整数的最大公约数和最小公倍数,并编写主函数调用这两个子函数,输出结果,两个整数由键盘输入。三、实验结果〔源程序+注释〕程序一#include<iostream>#include<cmath>usingnamespacestd;voidmain(){doublea,b,c;cout<<"请输入一个数:"<<endl;cin>>a;b=fabs(a),c=log10(b);cout<<a<<"的的绝对值为:"<<b<<endl;cout<<"该绝对值以10为底的对数值为:"<<c<<endl;}程序二#include<iostream>usingnamespacestd;voidmain(){inta,b,c,d;cout<<"请输入两个数:"<<endl;cin>>a>>b;intgongbei(int,int);intgongyue(int,int);c=gongyue(a,b);d=gongbei(a,b);cout<<a<<"和"<<b<<"的最大公约数为:"<<c<<endl;cout<<a<<"和"<<b<<"的最小公倍数为:"<<d<<endl;}intgongyue(inta,intb){inte;for(;a%b!=0;){e=a%b,a=b,b=e;}returnb;}intgongbei(inta,intb){intf;f=a*b/gongyue(a,b);returnf;}实验__11__实验报告教学班级:32学生学号:20230676学生姓名:实验日期:2023.03.25实验地点:7308(机房)指导教师签名:__________实验成绩:___________一、实验目的1.掌握自定义有返回值函数的概念、定义及使用;2.掌握自定义void函数的概念、定义及使用;3.掌握自定义有返回值函数与自定义void函数在定义及使用上的区别;4.掌握函数参数间的数据传递。二、实验任务1.设计一个程序,用来计算输入的两个整数的加、减、乘、除,每一个计算要单独用一个用户自定义的void函数来实现,接收输入数据也要用void函数来实现,输入数据中不包含0。2.将键盘输入的10个整数按从小到大的顺序排序〔冒泡法〕,要求排序功能用自定义函数实现。三、实验结果〔源程序+注释〕程序一#include<iostream>usingnamespacestd;voidmain(){doublea,b,c;voidshuru(double&,double&);voidjia(double,double,double&);voidjian(double,double,double&);voidcheng(double,double,double&);voidchu(double,double,double&);shuru(a,b);jia(a,b,c);cout<<"a+b="<<c<<endl;jian(a,b,c);cout<<

温馨提示

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

评论

0/150

提交评论