C++课程实习及答案全解Word文件下载.docx
- 文档编号:13357712
- 上传时间:2022-10-10
- 格式:DOCX
- 页数:87
- 大小:39.34KB
C++课程实习及答案全解Word文件下载.docx
《C++课程实习及答案全解Word文件下载.docx》由会员分享,可在线阅读,更多相关《C++课程实习及答案全解Word文件下载.docx(87页珍藏版)》请在冰豆网上搜索。
1、使用string类定义字符串对象,需包含头文件<
string>
;
2、使用cin和提取符>
>
从键盘输入数据,使用cout和插入符<
<
输出结果到屏幕,需包含头文件<
iostream>
3、注意使用名称空间std。
来源:
#include<
stdio.h>
stdlib.h>
usingnamespacestd;
intmain()
{
chars[10];
gets(s);
cout<
"
Hello,"
<
s<
!
"
endl;
return0;
}
示例代码----------------------------------------------
stringszName;
cin>
szName;
szName<
}
-----------------------------------------------------
实验题目(共4题,第2题)
2、求3个数的平均值
从键盘上输入3个浮点数,求这3个数的平均值。
3个浮点数
3个数的平均值
1.51.61.3
1.46667
1、用usingnamespacestd;
明确名字空间
2、用cin对象,采用>
运算符输入数据
3、用cout对象,采用<
运算符输出数据
floata,b,c,aver=0;
a;
b;
c;
aver=(a+b+c)/3.0;
aver<
示例代码-----------------------------------
floatx1,x2,x3;
cin>
x1>
x2>
x3;
cout<
(x1+x2+x3)/3<
endl;
---------------------------------------------
实验题目(共4题,第3题)
3、求鞍点
输入一个二维矩阵,找出其中所有鞍点。
如果矩阵有鞍点,则输出鞍点的信息:
行号、列号、值;
如果没有鞍点,则输出“Notfound!
所谓“鞍点”,是指满足以下条件的矩阵中的一个数:
在它所在的行上最小、所在列上最大。
该题中假设矩阵中任意两个数互不相等。
输入数据有多行:
第一行是矩阵的行数m和列数n
从第二行起共包含m行,每行包含n个数,为矩阵的一行数据
如果矩阵有鞍点,输出鞍点的信息,包括:
所在行、所在列、值
如果没有鞍点,输出Notfound!
34
11235647
12456690
16773418
2016
1、要求用动态内存分配来完成,可用new和delete实现;
2、屏幕输出只有2016(加回车换行),不能有其它信息。
voidan(inth,intl)
intma,mi,a=0,b=0;
int**p;
p=newint*[h];
for(inti=0;
i<
h;
i++)
{
p[i]=newint[l];
}
for(intj=0;
j<
l;
j++)
p[i][j];
intflag=0;
h&
&
flag==0;
mi=p[i][0];
a=i,b=0;
if(p[i][j]<
mi)
mi=p[i][j];
a=i,b=j;
for(intt=i+1;
t<
t++)
ma=mi;
if(ma<
p[t][b])ma=p[t][b];
if(ma==mi)
flag=1,cout<
a<
b<
ma<
if(flag==0)
Notfound!
delete[]p;
inth,l;
h>
an(h,l);
示例代码-----------------------------------------------------------------------------------------------------------
int**mat;
int*matRow,*matCol;
intnMaxRow=0,nMaxCol=0;
boolbFind=false;
intnTargetRow=0,nTargetCol=0,nSaddlePoint=0;
inti,j;
//cout<
Pleaseinputthenumberofrowsandthenumberofcolumns:
nMaxRow>
nMaxCol;
//Allocatememoriesforthetwodimensionalmatrices
mat=newint*[nMaxRow];
for(i=0;
nMaxRow;
mat[i]=newint[nMaxCol];
matRow=newint[nMaxRow];
//Bufferstosavetheminimumelementineachrow
matCol=newint[nMaxCol];
//Bufferstosavethemaximumelementineachcolumn
//Inputtheelements
Pleaseinputtheelements:
for(j=0;
nMaxCol;
mat[i][j];
//Findtheminimumelementineachrow
intnMin=mat[i][0];
for(j=1;
if(mat[i][j]<
nMin)nMin=mat[i][j];
matRow[i]=nMin;
//Findthemaximumelementineachcolumn
intnMax=mat[0][j];
for(i=1;
if(mat[i][j]>
nMax)nMax=mat[i][j];
matCol[j]=nMax;
//Findthesaddlepoint
nMaxRow&
!
bFind;
if(mat[i][j]==matRow[i]&
mat[i][j]==matCol[j])
nTargetRow=i;
nTargetCol=j;
nSaddlePoint=mat[i][j];
bFind=true;
break;
//Outputthesearchedrowandcolumnandthecorrespondingsaddlepoint
if(!
bFind)
else
nTargetRow<
nTargetCol<
nSaddlePoint<
//Releasememories
delete[]matCol;
delete[]matRow;
delete[]mat[i];
delete[]mat;
---------------------------------------------------------------------------------------------------------------
实验题目(共4题,第4题)
4、链表操作
建立一个链表,每个节点包括学生的学号、姓名、性别、年龄。
先输入5个学生的数据,再输入一个年龄,如果链表中有年龄等于此年龄的记录,则删除所有年龄等于此年龄的记录,否则在链表的最后增加一个新节点,学号为180姓名为"
aaa"
,性别为"
male"
。
创建链表时输入5个职工的职工号和工资,学号为大于100且小于200的整数,姓名为长度小于20的字符串,性别为长度小于10的字符串,年龄为大于等于0且小于200的整数。
按顺序输出链表中的所有数据,每个数据占一行。
101zhangsanmale30
103lisifemale18
105wangwumale25
107maliumale28
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程 实习 答案