C++习题综合实验2.docx
- 文档编号:10851864
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:22
- 大小:267.28KB
C++习题综合实验2.docx
《C++习题综合实验2.docx》由会员分享,可在线阅读,更多相关《C++习题综合实验2.docx(22页珍藏版)》请在冰豆网上搜索。
C++习题综合实验2
《程序设计语言》实验报告
实验序号:
实验项目名称:
学 号
姓 名
专业、班
实验地点
宿舍
指导教师
时间
一、实验目的及要求
1.熟悉C++集成开发环境VisualC++6.0。
(参考课本第21章)
2.掌握C++程序的开发过程和程序的结构。
3.掌握C++程序调试的基本方法。
4.掌握基本数据类型表示及表达式的表示方法。
5.掌握I/O流控制及基本的格式控制。
6.理解并掌握程序的分支结构,了解条件与程序流程的关系,及用不同的数据使程序的流程覆盖不同的语句、分支和路径。
7.理解并掌握程序的循环结构,掌握在程序设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环的次数。
8.了解提高程序可读性。
(参考课本第23章)
9.学习面向过程程序设计方法。
二、实验设备(环境)及要求
1.软件需求:
VisualC++6.0
2.硬件需求:
PentiumIII450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间
三、实验内容与步骤
1、编写C++程序,测试下列数组的定义方式是否正确。
(1)voidmain()
{
intn;
cin>>n;
inta[n];
......
}
(2)#defineM10
voidmain()
{
inta[M+2];
......
}
(3)voidmain()
{
inta[2+2*4];
......
}
(1)错误,数组的下标必须为常量
(2)
正确
(3)
正确
2、已知10名选手的比赛编号分别为1-10,从键盘分别输入他们的比赛成绩。
设计一个循环,根据用户输入的比赛编号,输出对应选手的成绩。
当用户输入0时循环结束,同时整个程序结束。
#include
voidmain()
{intn;
inta[10];
for(inti=0;i<=9;i++)
{cin>>a[i];}
cout<<"请输入一个比赛编号"< cin>>n; if(n! =0) cout<<"比赛编号为"< elsecout< } 3、假设一维数组x中存放了某班学生的成绩(至少10个成绩),编程输出成绩低于全班平均分同学的人数。 #include voidmain() {intsum=0,count=0; doublet; inta[10]; for(inti=0;i<=9;i++) {cin>>a[i]; sum=sum+a[i];} t=sum/10; for(intj=0;j<=9;j++) {if(a[j] elsecontinue; } cout<<"成绩低于全班平均分同学的人数为"< } /*文件名: s4.exe 功能: 将数组反存 作者: ** 完成时间: 2011.11.05 */ 4、将一个给定的一维数组反过来存放,要求仍然存放在原数组中,且不借助其它数组。 #include #include voidmain() { inta[10]; inttemp; cout<<"输入一个数组"< for(inti=0;i<10;i++) {cin>>a[i]; } for(intj=0;j<5;j++) { temp=a[j]; a[j]=a[9-j]; a[9-j]=temp; } cout<<"该数组反向输出为"< for(intt=0;t<10;t++) {cout< (2)< } /*文件名: s5.exe 功能: 插入数据 作者: ** 完成时间: 2011.11.05 */ 5、在一个长度为20的一维数组中存放n个有效元素(n<20,n及元素值均从键盘输入),再通过键盘输入一个新的元素值a和整数m,判断m的值是否超过数组元素下标的取值范围,若超出范围,则输出“位置不正确! ”,否则将元素a插入到数组下标为m的位置,原下标为m至n-1的元素依次后移,要求输出插入前和插入后的数组有效元素序列。 #include #include constn=6; voidmain() { inti,m,t,a; intp[20]; for(i=0;i cin>>p[i]; cout<<"插入前的数组有效元素序列为"< for(i=0;i cout< cout< cout<<"请输入一个新的元素值a和一个整数m"< cin>>a; cin>>m; if(m>n-1) cout<<"位置不正确"< else {t=p[m]; p[m]=a; for(i=n;i>m+1;i--) {p[i]=p[i-1];} p[m+1]=t; cout<<"插入后的数组有效元素序列为"< for(i=0;i cout< } /*文件名: s6.exe 功能: 排序 作者: ** 完成时间: 2011.11.05 */ 6、将一个15个元素的无序序列,按非减顺序排序后输出。 、 #include voidmain() { inta[15],i,j,t,swap; for(i=0;i<15;i++) cin>>a[i]; for(i=0;i<14;i++) {swap=1; for(j=0;j<14-i;j++) {if(a[j]>a[j+1]) {swap=0; t=a[j]; a[j]=a[j+1]; a[j+1]=t; } } cout<<"这是第"< "; for(j=0;j<15;j++) {cout< cout< if(swap)break; } } /*文件名: s7.exe 功能: 按要求输出矩阵 作者: ** 完成时间: 2011.11.05 */ 7、用二维数组定义一个n*n的矩阵,矩阵的元素为该元素所在行号*n后加上列号(行号、列号均从0开始),输出该二维数组各元素并总结规律。 #include #include constintn=6; voidmain() {inta[n][n]; inti,j; for(i=0;i<6;i++) for(j=0;j<6;j++) a[i][j]=i+j; for(i=0;i<6;i++) {for(j=0;j<6;j++) cout< cout< } /*文件名: s8.exe 功能: 矩阵加法 作者: ** 完成时间: 2011.11.05 */ 8、编程求矩阵的加法 + #include #include constintp=3,q=3; voidmain() {inti,j,k,t; inta[p][q]; intb[p][q]; intc[p][q]; cout<<"请输入数组a"< for(i=0;i {for(j=0;j {cin>>a[i][j];}} cout<<"请输入数组b"< for(i=0;i {for(j=0;j {cin>>b[i][j];}} for(i=0;i {for(j=0;j {c[i][j]=a[i][j]+b[i][j];}} cout<<"a[3][3]+b[3][3]="< for(k=0;k {for(t=0;t {cout< cout< } /*文件名: s9.exe 功能: 输出比赛信息 作者: ** 完成时间: 2011.11.05 */ 9、定义一个二维数组来存放6个评委的姓名和评分,输出成绩最高的评委姓名和评分,以及成绩最低的评委姓名和评分,在原数组中将这两个评委的信息删除,输出剩余评委的姓名和评分,及最后的平均评分。 #include #include #include constcount=6; voidmax(int*p,int*q,intx)//寻找最高分 {inti; for(i=1;i {if(*(p+i)>*p) *q=i; elsecontinue;} } voidmin(int*p,int*q,intx)//寻找最低分 {inti; for(i=1;i {if(*(p+i)<*p) *q=i; elsecontinue;} } voidmain()//主函数 {inti,n=0,m=0; charname[count][10]={{"jane"},{"lily"},{"mike"},{"leo"},{"jay"},{"mary"}}; intscore[count]={8,2,9,4,5,0}; //输出最高分并删除数据 max(score,&m,count-1); cout< for(i=m;i {strcpy(name[i],name[i+1]); score[i]=score[i+1];} name[i][0]='/0'; score[i]='/0'; //输出最低分并删除数据 min(score,&n,count-1); cout< for(i=n;i {strcpy(name[i],name[i+1]); score[i]=score[i+1];} name[i][0]='/0'; score[i]='/0'; //输出剩余成绩及最后平均得分 floattotal=0,ave=0; for(i=0;i {cout< total=total+score[i];} ave=total/(count-2); cout<<"最后平均得分为"< } /*文件名: s10.exe 功能: 按要求输出字符串 作者: ** 完成时间: 2011.11.05 */ 10、编写一程序,从键盘输入两个长度均不超过20的字符串,将两个字符串连接起来形成一个新的字符串,并将该新字符串中的数字字符删除。 (不要使用strcat()函数。 ) #include #include voidmain() {inti,j; chara[20]={"123abc"}; charb[20]={"love2011"};
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+习题综合实验 C+ 习题 综合 实验