C++.docx

上传人:b****5 文档编号:2779435 上传时间:2022-11-15 格式:DOCX 页数:30 大小:298.21KB
下载 相关 举报
C++.docx_第1页
第1页 / 共30页
C++.docx_第2页
第2页 / 共30页
C++.docx_第3页
第3页 / 共30页
C++.docx_第4页
第4页 / 共30页
C++.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

C++.docx

《C++.docx》由会员分享,可在线阅读,更多相关《C++.docx(30页珍藏版)》请在冰豆网上搜索。

C++.docx

C++

《程序设计语言》实验报告

实验序号:

B0900255-2实验项目名称:

数组与函数

学  号

姓  名

专业、班

实验地点

指导教师

时间

一、实验目的及要求

1.掌握一维数组的定义、初始化和访问方法;

2.掌握二维数组的定义、初始化和访问方法;

3.掌握字符数组和字符串的使用方法;

4.掌握常用的字符串处理函数;

5.掌握使用数组解决常见问题。

6.掌握函数的定义和调用方法。

7.掌握函数实参与形参的对应关系。

8.掌握递归函数编写的规律。

二、实验设备(环境)及要求

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];

......

}

2、已知10名选手的比赛编号分别为1-10,从键盘分别输入他们的比赛成绩。

设计一个循环,根据用户输入的比赛编号,输出对应选手的成绩。

当用户输入0时循环结束,同时整个程序结束。

3、假设一维数组x中存放了某班学生的成绩(至少10个成绩),编程输出成绩低于全班平均分同学的人数。

4、将一个给定的一维数组反过来存放,要求仍然存放在原数组中,且不借助其它数组。

5、在一个长度为20的一维数组中存放n个有效元素(n<20,n及元素值均从键盘输入),再通过键盘输入一个新的元素值a和整数m,判断m的值是否超过数组元素下标的取值范围,若超出范围,则输出“位置不正确!

”,否则将元素a插入到数组下标为m的位置,原下标为m至n-1的元素依次后移,要求输出插入前和插入后的数组有效元素序列。

6、将一个15个元素的无序序列,按非减顺序排序后输出。

7、用二维数组定义一个n*n的矩阵,矩阵的元素为该元素所在行号*n后加上列号(行号、列号均从0开始),输出该二维数组各元素并总结规律。

8、编程求矩阵的加法

+

9、定义一个二维数组来存放6个评委的姓名和评分,输出成绩最高的评委姓名和评分,以及成绩最低的评委姓名和评分,在原数组中将这两个评委的信息删除,输出剩余评委的姓名和评分,及最后的平均评分。

10、编写一程序,从键盘输入两个长度均不超过20的字符串,将两个字符串连接起来形成一个新的字符串,并将该新字符串中的数字字符删除。

(不要使用strcat()函数。

11、编写一字符串比较程序,从键盘输入两个长度不超过10的字符串s1和s2,然后比较它们的大小(字符串比较是从左到右逐位比较),若s1>s2,输出1;若s1=s2,输出0;若s1

(不使用strcmp()函数)。

最后将你的程序结果与直接调用strcmp()函数得到的结果相比较,看是否相同。

12、实型变量Y与整形变量a和x的关系如式所示。

编写函数程序,要求输入变量a和x,输出相应的Y。

在主函数中演示函数调用过程。

小数点后精确到第三位。

13、实型变量x与y的函数关系如式,编写函数实现,并在主函数中演示函数调用过程。

14、分别编写迭代函数和递归函数实现功能:

逆序输出正整数的各个位,并在主函数中同时调用迭代函数和递归函数,比较结果是否相同。

四、实验结果与数据处理

1、编写C++程序,测试下列数组的定义方式是否正确。

(1)voidmain()

{

intn;

cin>>n;

inta[n];

......

}

(2)#defineM10

voidmain()

{

inta[M+2];

......

}

(3)voidmain()

{

inta[2+2*4];

......

}

#include

voidmain()

{

intn,b;

cin>>n;

inta[n];

cout<<"pleaseinputn"<

for(b=0;b

cin<

cout<

}

(1)程序定义错误,无法执行。

 

#include

#defineM10

voidmain()

{

intb;

inta[M+2];

for(b=0;b

{cout<<"pleaseinputn"<

cin>>a[b];}

cout<

}

 

#include

voidmain()

{

intb;

inta[2+2*4];

for(b=0;b<10;b++)

{cout<<"pleaseinputn"<

cin>>a[b];}

cout<

}

 

2、已知10名选手的比赛编号分别为1-10,从键盘分别输入他们的比赛成绩。

设计一个循环,根据用户输入的比赛编号,输出对应选手的成绩。

当用户输入0时循环结束,同时整个程序结束。

#include

voidmain()

{

inta[10];

intb,c;

for(b=0;b<10;b++)

{c=b+1;

cout<<"请输入第"<

\n";

cin>>a[b];

}

for(;b!

=0;)

{

cout<<"请输入选手的编号:

\n";

cin>>b;

c=b-1;

if(b==0)

break;

cout<

}

}

 

3、假设一维数组x中存放了某班学生的成绩(至少10个成绩),编程输出成绩低于全班平均分同学的人数。

#include

voidmain()

{

inta[10];

intb,c;

doubled=0;

for(b=0;b<10;b++)

{c=b+1;

cout<<"请输入第"<

\n";

cin>>a[b];

d+=a[b];

}

d=d/10;

for(b=0,c=0;b<=9;b++)

if(a[b]

c++;

cout<<"低于平均分的人数为"<

}

 

4、将一个给定的一维数组反过来存放,要求仍然存放在原数组中,且不借助其它数组。

 

#include

voidmain()

{

intd[20];

inta,b,c;

for(a=0;a<20;a++)

{b=a+1;

cout<<"请输入数组的第"

<

d["

<

cin>>d[a];

}

for(a=0;a<=9;a++)

{c=d[a];

d[a]=d[19-a];

d[19-a]=c;

}

for(a=0;a<20;a++)

cout<<"d["<

<

}

 

5、在一个长度为20的一维数组中存放n个有效元素(n<20,n及元素值均从键盘输入),再通过键盘输入一个新的元素值a和整数m,判断m的值是否超过数组元素下标的取值范围,若超出范围,则输出“位置不正确!

”,否则将元素a插入到数组下标为m的位置,原下标为m至n-1的元素依次后移,要求输出插入前和插入后的数组有效元素序列。

#include

voidmain()

{

intd[20],e[20];

inta,b,n,m,h,k;

cout<<"请输入n:

\n";

cin>>n;

for(a=0;a

{b=a+1;

cout<<"请输入数组的第"

<

d["

<

cin>>d[a];

e[a]=d[a];

}

cout<<"请输入a和m:

\n";

cin>>b>>m;

if(m>n)

cout<<"位置不正确!

\n";

else

{for(a=18;a>=m;a--)

d[a+1]=d[a];

d[m]=b;

for(a=0;a

{cout<<"e["<

<

}

for(a=0;a

{cout<<"d["<

<

}

}

}

 

 

6、将一个15个元素的无序序列,按非减顺序排序后输出。

#include

voidmain()

{

inta[15],b,c,d,e;

for(b=0;b<15;b++)

{cout<<"请输入第"<

\n";

cin>>a[b];

}

for(b=0;b<=13;b++)

{

e=1;

for(c=0;c<=14-b;c++)

if(a[c]>a[c+1])

{

e=0;

d=a[c];

a[c]=a[c+1];

a[c+1]=d;

}

}

for(b=14;b>=0;b--)

cout<

}

 

 

7、用二维数组定义一个n*n的矩阵,矩阵的元素为该元素所在行号*n后加上列号(行号、列号均从0开始),输出该二维数组各元素并总结规律。

 

#include

constintn=10;

voidmain()

{

inta[n][n],i,j;

for(i=0;i

for(j=0;j

a[i][j]=n*i+j;

for(i=0;i

for(j=0;j

cout<<"a["<

}

 

 

8、编程求矩阵的加法

+

#include

voidmain()

{

intA[3][3]={5,7,8,2,-2,4,1,1,1},B[3][3]={4,-2,3,3,9,4,8,-1,2},C[3][3],i,j;

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

{

C[i][j]=A[i][j]+B[i][j];

cout<

}

cout<

}

}

9、定义一个二维数组来存放6个评委的姓名和评分,输出成绩最高的评委姓名和评分,以及

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 其它模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1