欢迎来到天天文库
浏览记录
ID:51430829
大小:73.00 KB
页数:10页
时间:2020-03-24
《C++练习题及解答.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++练习题及解答练习题(一) 一、编程题。根据程序要求,写出函数的完整定义。 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*next;//
3、指向链表中的下一个节点};函数参数:函数的第一个参数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. te
6、mplate5. classStack;6. /*****************定义模板类StackItem******************/7. template8. classStackItem9. {10. public:11. StackItem(constType&elem):item(elem){}12. ~StackItem(){}13. pr
7、ivate:14. Typeitem;15. StackItem*nextItem;16. friendclassStack;17. };18. /*****************定义模板类Stack*********************/19. template20. classStack21. {22. public:23. Stack():top(NULL),____(A)_____{}24.
8、 ~Stack();25. Typepop();26. voidpush(constType&);27. boolis_empty()const{return____(B)______;}28. private:29. StackItem*top;30. StackItem*bottom;31. };32. //模板类Stack的函数成员pop()的实现。33. //从堆栈顶弹出一个节点
此文档下载收益归作者所有