C++实现数据结构与算法:创建自定义数据类型,寻找质数与猜数字游戏

版权申诉
0 下载量 85 浏览量 更新于2024-07-18 收藏 24KB DOCX 举报
"C++ 数据结构、算法笔试题包含了创建自定义数据类型、寻找质数以及实现简单的猜数字游戏的编程题目。" 1. 自定义数据类型: 在C++中,我们可以创建自己的数据类型,这在题目中通过定义一个名为`datatype`的类来实现。类中包含了一个枚举`vartype`用于标识数据的类型(字符型、整型或浮点型),以及一个联合体(union)来存储不同类型的数据。枚举让程序知道当前存储的是哪种类型,联合体则确保只占用最小的空间来存储数据。构造函数根据传入的参数(字符、整数或浮点数)来设置`vartype`并初始化相应的数据。`print`成员函数根据`vartype`的值打印出相应类型的值。在`main`函数中,创建了三个`datatype`对象,并调用`print`函数显示它们的值。 2. 寻找质数: 第二个问题是使用穷举法找到1到100之间的所有质数。这里利用了`while`循环和嵌套的`while`循环。外层循环从2开始,每次递增1,检查到100。内层循环从2开始,每次递增1,检查到当前数的平方根。如果当前数可以被内层循环中的任何数整除,那么它不是质数,将标志`flag`设为0并跳出内层循环。如果内层循环结束时`flag`仍为1,那么当前数就是质数,将其打印出来。这种方法称为试除法,是判断质数的常用方法。 3. 猜数字游戏: 最后一个问题要求用户猜一个1到100之间的随机数。这里使用`do...while`循环来实现,因为至少需要一次猜测。首先,程序生成一个1到100的随机数(在这个示例中为18),然后提示用户输入猜测的数字。`do...while`循环会持续进行,直到用户猜对为止。循环体内,比较用户输入的数字`m`与目标数字`n`的大小,如果`m`小于`n`,提示用户数字太小;如果`m`大于`n`,提示用户数字太大。每次循环结束后,`m`的值都会更新为用户新的猜测,直到猜对为止。 这三个题目涵盖了基本的C++编程概念,包括自定义数据类型、循环结构、条件判断以及简单的数学运算。它们是理解和掌握C++基础的重要练习。