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;
}
相关推荐
局部有解20 分钟前
Hot100 - 三数之和
数据结构·c++·算法
longlongzihan36 分钟前
C++ 常用数据结构速查:vector、stack、queue、list、树、图、哈希表等声明与核心操作
数据结构·c++·list
别动我齐刘海1 小时前
实时控制学习2
linux·c++·人工智能·学习·算法
hetao17338372 小时前
校内场-提高组 ZYZSC-S-Round 2
c++·算法
hetao17338372 小时前
2026-10-14 hetao1733837 的刷题记录
c++·算法
浅念-3 小时前
动态规划:线性DP——多状态DP与子数组专题笔记
c++·笔记·算法·leetcode·职场和发展·动态规划·力扣
StarRocks_labs6 小时前
StarRocks 接入 Paimon C++:让湖上查询进入原生执行链路
starrocks·c++·sql·jni·paimon·auto·湖上查询
垆边人似月.6 小时前
华为题:字符串中最长连续数字串
开发语言·c++·算法
罗湖老棍子6 小时前
座位安排(洛谷-P2071)
c++·算法·图论·匈牙利算法·二分图匹配
IOT那些事儿6 小时前
C++17和20版本差异
c++·mingw·msvc