欢迎来到天天文库
浏览记录
ID:11800951
大小:50.00 KB
页数:10页
时间:2018-07-14
《c++练习题及解答练习题》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、练习题(一) 一、编程题。根据程序要求,写出函数的完整定义。 1.写一个函数,找出给定字符串中大写字母字符(即’A’-‘Z’这26个字母)的个数(如字符串”ChinaComputerWrold”中大写字母字符的个数为3个)。 函数的原型: intCalcCapital(char*str); 函数参数: str为所要处理的字符串; 函数返回值:所给字符串中数字字符的个数 2.写一个函数,用递归函数完成以下运算: sum(n)= 1–1/2+1/3–1/4+…-(1/n)*(-1)n (其中n>0) 函数原
2、型: floatsum(intn); 函数参数:n为正整数。 函数返回值:相应于给定的n,右边表达式运算结果。 提示:你可以使用递归表达式:sum(n)=sum(n-1)-(1/n)*(-1)n 3.给定新数值,在一个按节点所存放数值从大到小排序的链表中,找适当位置插一个新节点,仍保持有序的链表,写一个函数,完成此操作。 函数的原型: Node*InsNode(Node*head, intnewValue); 其中,链表节点的定义如下: structNodee{ intValue; //存放数值 Node*
3、next; //指向链表中的下一个节点 }; 函数参数:函数的第一个参数head指向链表头一节点的指针,如果链表为空,则head的值为NULL。第二个参数newValue为所给定的插入新节点的新数值。 函数返回值:当成功地插入新的节点时,函数返回指向新链表头一节点的指针,否则,若不能申请到内存空间,则返回NULL。 4.写一个函数,找出给定数组中具有最小值的元素。 函数的原型: charMinCode(charcharAry[]); 函数参数:charAry所要处理的字符数组名; 函数返回值:返回具有最小ASCII码的字符。
4、 二、理解问答题: 下面的文件stack.h是一个堆栈类模板Stack的完整实现。在这个文件中,首先定义了一个堆栈元素类模板StackItem,然后,在这个类的基础上定义了堆栈类模板Stack。在Stack中使用链表存放堆栈的各个元素,top指针指向链表的第一个节点元素,bottom指针指向链表的最后一个节点元素,成员函数push()将一个新节点元素加入(压进)到堆栈顶部,pop()从堆栈顶部删除(弹出)一个节点元素。为方便起见,程序中加上了行号。阅读程序,根据程序后面的问题作出相应解答。 1. /*-------------
5、----------------------------------------------------------------*/ 2. /*********************文件stack.h************************/ 3. /*-----------------------------------------------------------------------------*/ 4. template 5. classStack; 6.
6、 /*****************定义模板类StackItem******************/ 7. template 8. classStackItem 9. { 10. public: 11. StackItem(constType&elem):item(elem){} 12. ~StackItem(){} 13. private: 14. Typeitem; 15. StackItem
7、*nextItem; 16. friend classStack; 17. }; 18. /*****************定义模板类Stack*********************/ 19. template 20. classStack 21. { 22. public: 23. Stack():top(NULL),____(A)_____{} 24. ~Stack(); 25. Typepop(); 26.
8、 voidpush(constType&); 27. boolis_empty()const{return____(B)
此文档下载收益归作者所有