河北大学工商学院C++实验:输入输出、动态内存与百钱问题

需积分: 9 2 下载量 26 浏览量 更新于2024-09-14 收藏 38KB DOC 举报
"河北大学工商学院的C++实验课程资料,包含2012级学生的实验参考答案,主要关注C++语言的基础功能强化,如输入输出流、函数原型、动态内存管理和C++风格的编程思维。" 实验1的主要目标是让学习者快速掌握C++编程基础,通过增强C语言的功能来提升编程效率。实验内容包括: 1. 输入输出流的使用:实验要求学生编写一个程序,利用C++的iostream库进行输入输出操作。例如,通过cin从键盘获取两个数字,然后进行加、减、乘、除运算,再用cout输出结果。这展示了如何利用`<iostream.h>`头文件中的cin和cout对象进行基本的I/O操作。 2. 函数原型:虽然在这个具体的实验中没有直接涉及函数原型的定义,但函数原型是C++中定义函数的一种方式,用于声明函数的返回类型和参数列表,帮助编译器在调用函数前进行类型检查。 3. new和delete运算符分配内存:实验中第二个题目要求动态分配内存来存储一个3x3的整型数组,然后计算其元素之和,找出最大值和最小值。new运算符用于在堆上分配内存,而delete则用于释放已分配的内存。这里展示了如何使用指针操作动态内存,以及如何在处理完内存后正确地释放它,防止内存泄漏。 实验2的具体实现中,使用了`new int[3*3]`动态创建了一个9个元素的数组,然后通过循环读取用户输入的9个整数,同时计算总和、最大值和最小值。最后,使用delete释放内存,并输出结果。 实验3是一个经典的动态规划问题,称为“百钱问题”。目标是找到用1元人民币兑换成1分、2分、5分硬币的不同组合数。这个问题可以通过递归或迭代的方式来解决,通常会用到二维数组或动态规划数组来记录每种面值硬币的数量。虽然实验代码未给出完整,但完整的解决方案会遍历所有可能的组合,并累加满足条件的组合数。 这些实验涵盖了C++的基本概念,对于初学者来说是很好的实践练习,有助于理解C++的核心特性,包括流式输入输出、动态内存管理以及基本的算法应用。通过这样的实验,学生可以逐步建立起C++编程的能力和思维。