欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C++课程实习及答案全解.docx

    • 资源ID:9590167       资源大小:36.92KB        全文页数:100页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C++课程实习及答案全解.docx

    1、C+课程实习及答案全解实验题目(共4题, 第1题)标题: 1、字符串输入输出 时 限: 1000 ms 存限制: 10000 K 总时限: 3000 ms 描述: 编写一个简单的控制台应用程序,先输入,如“John”,再输出问候语,如“Hello, John!”。 输入: John输出: Hello, John! 输入样例: John输出样例: Hello,John!提示: 1、使用string类定义字符串对象,需包含头文件;2、使用cin和提取符从键盘输入数据,使用cout和插入符输出结果到屏幕,需包含头文件;3、注意使用名称空间std。来源:#include #include #inclu

    2、de using namespace std;int main() char s10; gets(s); cout Hello, s ! endl; return 0; 示例代码-#include #include using namespace std;int main() string szName; cin szName; cout Hello, szName ! 运算符输入数据3、用cout对象,采用运算符输出数据来源:#include using namespace std;int main() float a,b,c,aver=0; cin a; cin b; cin c; ave

    3、r=(a+b+c)/3.0; cout aver endl; return 0; 示例代码-#include using namespace std;int main() float x1, x2, x3; cinx1x2x3; cout(x1+x2+x3)/3endl; return 0;-实验题目(共4题, 第3题)标题: 3、求鞍点 时 限: 1000 ms 存限制: 10000 K 总时限: 3000 ms 描述: 输入一个二维矩阵,找出其中所有鞍点。如果矩阵有鞍点,则输出鞍点的信息:行号、列号、值;如果没有鞍点,则输出“Not found!”。所谓“鞍点”,是指满足以下条件的矩阵中的

    4、一个数:在它所在的行上最小、所在列上最大。 该题中假设矩阵中任意两个数互不相等。输入: 输入数据有多行:第一行是矩阵的行数m和列数n 从第二行起共包含m行,每行包含n个数,为矩阵的一行数据输出: 如果矩阵有鞍点,输出鞍点的信息,包括:所在行、所在列、值 如果没有鞍点,输出Not found! 输入样例: 3 411 23 56 4712 45 66 9016 77 34 18 输出样例: 2016 提示: 1、要求用动态存分配来完成,可用new和delete实现;2、屏幕输出只有2 0 16(加回车换行),不能有其它信息。来源:#include using namespace std;void

    5、 an(int h,int l) int ma,mi,a=0,b=0; int *p; p=new int* h; for(int i=0; ih; i+) pi=new intl; for(int i=0; ih; i+) for(int j=0; jpij; int flag=0; for(int i=0; ih&flag=0; i+) mi=pi0; a=i,b=0; for(int j=0; jl; j+) if(pijmi) mi=pij; a=i,b=j; for(int t=i+1; th; t+) ma=mi; if(maptb)ma=ptb; if(ma=mi) flag=1

    6、,couta b maendl; if(flag=0) coutNot found!hl; an(h,l); return 0;示例代码-#include using namespace std;int main() int *mat; int *matRow, *matCol; int nMaxRow=0, nMaxCol=0; bool bFind=false; int nTargetRow=0, nTargetCol=0, nSaddlePoint=0; int i, j; /cout Please input the number of rows and the number of c

    7、olumns: nMaxRow nMaxCol; /Allocate memories for the two dimensional matrices mat = new int *nMaxRow; for (i=0; inMaxRow; i+) mati = new intnMaxCol; matRow = new intnMaxRow; /Buffers to save the minimum element in each row matCol = new intnMaxCol; /Buffers to save the maximum element in each column /

    8、Input the elements /cout Please input the elements: endl;for (i=0; inMaxRow; i+) for (j=0; j matij; /Find the minimum element in each row for (i=0; inMaxRow; i+) int nMin=mati0; for (j=1; jnMaxCol; j+) if(matijnMin) nMin = matij; matRowi = nMin; /Find the maximum element in each column for (j=0; jnM

    9、axCol; j+) int nMax=mat0j; for (i=1; inMax) nMax = matij; matColj = nMax; /Find the saddle point for (i=0; inMaxRow & !bFind; i+) for (j=0; jnMaxCol; j+) if(matij=matRowi & matij=matColj) nTargetRow = i; nTargetCol = j; nSaddlePoint = matij; bFind = true; break; /Output the searched row and column a

    10、nd the corresponding saddle point if(!bFind) cout Not found! endl; else cout nTargetRow nTargetCol nSaddlePoint endl; /Release memories delete matCol; delete matRow; for (i=0; inMaxRow; i+) delete mati; delete mat; return 0; -实验题目(共4题, 第4题)标题: 4、链表操作 时 限: 1000 ms 存限制: 10000 K 总时限: 3000 ms 描述: 建立一个链表

    11、,每个节点包括学生的学号、性别、年龄。先输入5个学生的数据,再输入一个年龄,如果链表中有年龄等于此年龄的记录,则删除所有年龄等于此年龄的记录,否则在链表的最后增加一个新节点,学号为180为aaa,性别为male。 输入: 创建链表时输入5个职工的职工号和工资,学号为大于100且小于200的整数,为长度小于20的字符串,性别为长度小于10的字符串,年龄为大于等于0且小于200的整数。 输出: 按顺序输出链表中的所有数据,每个数据占一行。 输入样例: 101 zhangsan male 30103 lisi female 18105 wangwu male 25107 maliu male 281

    12、09 niuqi female 2228 输出样例: 101zhangsanmale30103lisifemale18105wangwumale25109niuqifemale22提示: 要求用动态存分配实现,注意new和delete的使用。 来源:#include using namespace std;class nodeprivate: int _num,_age; string _name,_sexy;public: node(int num,int age,string name,string sexy) _num=num; _age=age; _name=name; _sexy=s

    13、exy; void display(void) cout_numendl; cout_nameendl; cout_sexyendl; cout_agenumnamesexyage; LinkedList head(num,age,name,sexy); LinkedList *p=&head; for(int i=1; inumnamesexyage; p-next=new LinkedList(num,age,name,sexy); p=p-next; cinage; LinkedList *pp=&head; int flag=0; while(pp!=NULL) if(pp-Node-

    14、same(age)flag+; else pp-Node-display(); pp=pp-next; if(!flag) node n(180,age,aaa,male); n.display(); return 0;示例代码-#include #include using namespace std;const int MAX_STR_LEN = 32;struct StuNode int ID; char nameMAX_STR_LEN; char genderMAX_STR_LEN; int age; struct StuNode *next;typedef struct StuNod

    15、e *StuLink; void CreateHeadNode(StuLink &pHead, StuLink &pTail) pHead = new StuNode; if (pHead = NULL) return; pHead-next = NULL; pTail = pHead;void AddStudent(StuLink &pTail, StuNode data) StuLink p; p = new StuNode; if (p = NULL) return; p-ID = data.ID; strcpy(p-name, data.name); strcpy(p-gender,

    16、data.gender); p-age = data.age; p-next = NULL; /Make the current node pointer point to the last added data pTail-next = p; pTail = p;bool RemoveStudent(StuLink &pHead, StuLink &pTail, int age) bool bFind=false; StuLink pCurr, pPre; pPre = pHead; /Skip to the second node because the first node is the

    17、 head node without data pCurr = pHead-next; while (pCurr != NULL) if (pCurr-age = age) pPre-next = pCurr-next; delete pCurr; /Recover the current pointer to find the next node that has the same key pCurr = pPre-next; bFind=true; else /Move to the next node pPre = pCurr; pCurr = pCurr-next; /Recover

    18、the tail pointer in case the last node is deleted if(bFind & pPre-next=NULL) pTail = pPre; return bFind;void OutputAllStudentsInfo(const StuLink pHead) StuLink p; /Skip to the second node because the first node is the head node without data p = pHead-next; if (p = NULL) return; while (p != NULL) cou

    19、t ID endl; cout name endl; cout gender endl; cout age next; void InputStudentInfo(StuNode &Emp) cin Emp.ID Emp.name Emp.gender Emp.age; while ( Emp.ID=200 | Emp.ID=20 | strlen(Emp.gender)=10 | Emp.age=200) cin Emp.ID Emp.name Emp.gender Emp.age; int main() StuLink EmpInstHead, EmpInstTail; StuNode E

    20、mpTemp; int i, age; /Create a head node for the linked list CreateHeadNode(EmpInstHead, EmpInstTail); for (i=0; i age; /Remove a head node from the linked list if(!RemoveStudent(EmpInstHead, EmpInstTail, age) EmpTemp.age = age; EmpTemp.ID=180; strcpy(EmpTemp.name, aaa); strcpy(EmpTemp.gender, male);

    21、 EmpTemp.next=NULL; AddStudent(EmpInstTail, EmpTemp); OutputAllStudentsInfo(EmpInstHead); return 0;- 实验题目(共4题, 第1题)标题: 1. 函数重载 时 限: 1000 ms 存限制: 10000 K 总时限: 3000 ms 描述: 设计一菜单程序,利用函数重载实现员工月工资的计算,计算方法如下: (1)管理人员的月工资 月薪 缺勤天数 月薪 22; (2)销售人员的月工资 底薪 + 销售金额 提成比例; (3)计件工人的月工资 产品件数 每件报酬; (4)计时工人的月工资 工作小时 小时

    22、报酬;输入: 职工类别及相关信息。职工类别:1表示管理人员;2表示销售人员;3表示计件工人;4表示计时工人;其余字符表示退出。相关信息:若为管理人员,则输入月薪和缺勤天数;若为销售人员,则输入底薪、销售金额和提成比例;若为计件工人,则输入产品件数和每件报酬;若为计时工人,则输入工作小时和小时报酬。输出: 员工月工资。 输入样例: 1 职工类别5000.0 1月薪和缺勤天数输出样例: 4772.73提示: 1. 计算管理人员、销售人员、计件工人、计时工人的月工资的函数原型可以分别设计如下: double getEarning(double salary, int absenceDays); do

    23、uble getEarning(double baseSalary, double salesSum, double rate); double getEarning(int workPieces, double wagePerPiece); double getEarning(double hours, double wagePerHour);2. 菜单程序设计如下: int main() . cout Please select. endl; cout 1: Manager. endl; cout 2: Sales Man. endl; cout 3: Pieces Worker. endl; cout 4: Hour-Worker. endl; cout


    注意事项

    本文(C++课程实习及答案全解.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开