C++ 基础练习[1]

本文是C++基础练习,涵盖了联合体、枚举类型、质数判断、猜数字游戏、最大公约数与最小公倍数计算、递归幂运算以及字符串操作等知识点。通过实例代码,深入理解C++的基础概念与算法应用。
摘要由CSDN通过智能技术生成

1.定义一个”数据类型” datatype类,能处理包含字符型、整型、浮点型三种类型的数据,给出其构造函数。

#include <iostream>
using namespace std;

class datatype{
    enum{
        character,
        integer,
        floating_point
    } vartype;
    union
    {
        char c;
        int i;
        float f;
    };
public:
    datatype(char ch) {
        vartype = character;
        c = ch;
    }
    datatype(int ii) {
        vartype = integer;
        i = ii;
    }
    datatype(float ff) {
        vartype = floating_point;
        f = ff;
    }
    void print();
};
void datatype::print() {
    switch (vartype) {
    case character:
        cout << "字符型: " << c << endl;
        break;
    case integer:
        cout << "整型: " << i << endl;
        break;
    case floating_point:
        cout << "浮点型: " << f << endl;
        break;
    }
}

void test() {
    datatype A('c'), B(12), C(1.44F);
    A.print();
    B.print();
    C.print();
}

知识点:联合体、枚举类型的使用。

联合体公用一个存储空间值得至于的是sizeof(union);枚举类型则要注意枚举类型的值默认从0开始,但是如果前面指定了值,后面没有指定的要挨个比前面大1。

2.用穷举法找出1~100间的质数,显示出来

质数是除了一和它本身之外,不能被其他数整除的正整数,又称素数。100以内的质数有:

2     3     5     7    11    13    17    19    23    29    31    37    41    43    47     53    59    61    67    71    73    79    83    89    97  

合数是除了质数以外的数,即除了一和它本身以外,还有其他的因数的正整数。

区别在于因数的个数,质数只有2个因数,合数有多于2个因数。

1既不是质数,也不是合数。

//n是否为素数
bool is_prime(int n)
{
    if (n < 2) // 1既不是质数,也不是合数。
        return false;
    for (int i = 2; i*i <= n; i++)   
        if (n % i == 0)
            return false;
    return true;
}

void test()
{
    int cnt = 0;
    cout << "质数如下:" << endl;
    for (int i = 2; i <= 100; i++){
        if (is_prime(i)){
            cnt++;
            cout << i << "\t";
        }
        if (cnt % 10 == 0) cout << endl;
    }
    cout << endl;
}

结果:

质数如下:
2       3       5       7       11      13      17      19      23      29

31      37      41      43      47      53      59      61      67      71

73      79      83      89      97
请按任意键继续. . .

3.在程序中定义一个整型变量,赋以1~100的值,要求用户猜这个数,比较两个数的大小,把结果提示给用户,直到猜对为止。

#include <ctime>
#include <iostream>

using 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值