4.4C++

1

cpp 复制代码
#include <iostream>
#include <cmath>
using namespace std;
class A{
private:
    int a;
    // 判断一个数是否为质数
    bool isP(int num) {
        if (num<2) return false;
        for (int i=2;i<=sqrt(num);i++) {
            if (num % i == 0) {
                return false;
            }
        }
        return true;
    }
public:
    // 构造函数
    A():a(0){}
    // 设置成员a的值
    void set(int value) {
        a = value;
    }
    // 计算并打印1到a之间所有数字的和
    void Sum() {
        int sum = 0;
        for (int i = 1; i <= a; ++i) {
            sum += i;
        }
        cout << "1 到 " << a << " 和 = " << sum <<endl;
    }
    // 计算并打印1到a之间所有数字的乘积
    void Product() {
        long long product = 1; // 使用long long防止乘积溢出
        for (int i = 1; i <= a; ++i) {
            product *= i;
        }
        cout << "1 到 " << a << " 乘积 = " << product <<endl;
    }
    // 输出1到a之间的所有质数
    void PrimeNumber() {
        cout << "1 到 " << a << " 中的质数 = ";
        bool flag = true;
        for (int i = 2; i <= a; ++i) {
            if (isP(i)) {
                if (!flag) {
                    cout << ",";
                }
                cout << i;
                flag = false;
            }
        }
        cout<<endl;
    }
};
int main() {
    A no;
    int a=0;
    cout<<"输入a:"<<endl;
    cin>>a;
    no.set(a);
    no.Sum();
    no.Product();
    no.PrimeNumber();
    return 0;
}

2

cpp 复制代码
#include <iostream>
using namespace std;
class A{
private:
    int count;
public:
    A():count(0){}
    char MyGetChar(){
        if (count < 10){
            return '0' + count++;
        }else{
            count = 0; // 重置计数
            return '0' + count++;
        }
    }
};
class B{
private:
    char count;
public:
    B():count('a'){}
    char MyGetChar(){
        char ret = count;
        count++;
        if (count > 'z'){
            count = 'a'; // 重置计数
        }
        return ret;
    }
};
int main(){
    A a;
    B b;
    for (int i=0;i<35;i++) {
        if(i<20)
            cout << a.MyGetChar();
        if (i<26)
            cout<<b.MyGetChar();
    }
    cout<<endl;
    return 0;
}

3

cpp 复制代码
#include <iostream>
#include <list>
using namespace std;
class A {
private:
    list<char> n;
public:
    void addNumber(char num) {
        n.push_back(num);
    }

    void sortNumbers() {
        n.sort();
    }

    void dump() {
        cout << "存放数字的类,输出: ";
        list<char>::iterator it;
        for(it=n.begin();it!=n.end();it++) {
            cout<<*it;
        }
        cout<<endl;
    }
};

class B {
private:
    list<char> l;

public:
    void addLetter(char l) {
        this->l.push_back(l);
    }

    void sortLetters() {
        l.sort();
    }

    void dump() {
        cout << "存放字母的类,输出: ";
        list<char>::iterator it;
        for(it=l.begin();it!=l.end();it++) {
            cout<<*it;
        }
        cout<<endl;
    }
};

int main() {
    string input;
    cout << "请输入一个字符串: ";
    cin >> input;

    A a;
    B b;

    for (int i = 0; i <static_cast<int>(input.size()); ++i) {
        char c = input[i];
        if (c >= '0' && c <= '9') {
            a.addNumber(c);
        } else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
            b.addLetter(c);
        }
    }
    b.sortLetters();
    a.sortNumbers();
    b.dump();
    a.dump();
    return 0;
}
相关推荐
OpenC++18 分钟前
【C++QT】Buttons 按钮控件详解
c++·经验分享·qt·leetcode·microsoft
YuforiaCode1 小时前
第十二届蓝桥杯 2021 C/C++组 直线
c语言·c++·蓝桥杯
草莓啵啵~2 小时前
搜索二叉树-key的搜索模型
数据结构·c++
共享家95272 小时前
深入理解C++ 中的list容器
c++
孞㐑¥2 小时前
C++11介绍
开发语言·c++·经验分享·笔记
云小逸2 小时前
【QQMusic项目界面开发复习笔记】第二章
c++·qt
李匠20242 小时前
C++ RPC以及cmake
网络·c++·网络协议·rpc
再睡一夏就好3 小时前
Linux常见工具如yum、vim、gcc、gdb的基本使用,以及编译过程和动静态链接的区别
linux·服务器·c语言·c++·笔记
YHY_13s3 小时前
访问者模式
c++·访问者模式
我也不曾来过14 小时前
list底层原理
数据结构·c++·list