五一 作业

cpp 复制代码
#include <iostream>
 
using namespace std;
class Num
{
private:
    int a;
public:
    Num() {}
    Num(int a):a(a){}
    //设置a的值
    void set(int a){
        this->a=a;
    }
    //1-a的和
    void Sum(){
        if(a<1){
            cout<<"a<1"<<endl;
            return;
        }
        int sum=0;
        for(int i=1;i<=a;i++){
            sum+=i;
        }
        cout<<"Sum="<<sum<<endl;
    }
    //1-a的乘积
    void Porduct(){
        if(a<1){
            cout<<"a<1"<<endl;
            return;
        }
        int product=1;
        for(int i=1;i<=a;i++){
            product*=i;
        }
        cout<<"Product="<<product<<endl;
    }
    //1-a的所有质数
    void PrimeNumber(){
        if(a<1){
            cout<<"a<1"<<endl;
            return;
        }
        cout<<"PrimeNumber:";
        for(int i=2;i<=a;i++){
            int flag=0;
            for(int j=2;j<i;j++){
                if(i%j==0){
                    flag++;
                }
            }
            if(0==flag){
                cout<<i<<" ";
            }
        }
    cout<<endl;
    }
};
int main()
{
    Num num1;
    num1.set(10);
    num1.Sum();
    num1.Porduct();
    num1.PrimeNumber();
    return 0;

}
  1. 已知C风格的字符串,完成对字符串通过下标访问时的异常处理机制(越界访问)
cpp 复制代码
#include <iostream>
#include <cstring>
using namespace std;
 
class Str
{
private:
    char *str;
    int size;
public:
    Str() {}
    Str(const char *str):str(nullptr),size(0){
        size=strlen(str);
        this->str=new char[size+1];
        strcpy(this->str,str);
    }
    char &at(int pos){
        if(pos>=size){
            throw char(1);
        }
        return *(str+pos);
    }
};
int main()
{
    Str s1("hello");
    cout<<s1.at(3)<<endl;
    cout<<s1.at(5)<<endl;
    return 0;
}
cpp 复制代码
#include <iostream>
 
using namespace std;
class A
{
private:
    static char a;
public:
    A() {}
    static void MyGetChar(){
        if(a>'9'){
            a='0';
        }
        cout<<a;
        a++;
    }
};
char A::a='0';
class B
{
private:
    static char b;
public:
    B() {}
    static void MyGetChar(){
        if(b>'z'){
//            cout<<endl;
            b='a';
        }
        cout<<b;
        b++;
    }
};
char B::b='a';
int main()
{
    for(int i=0;i<26;i++){
        if(i<20){
            A().MyGetChar();
        }
        B().MyGetChar();
    }
    cout<<endl;
    for(int i=0;i<26;i++){
        if(i<20){
            A().MyGetChar();
        }
        B().MyGetChar();
    }
    return 0;
}
cpp 复制代码
#include <iostream>
 
using namespace std;
class A
{
private:
    string str;
public:
    A() {}
    A(string str):str(str){
        int j=0;
        for(unsigned int i=0;i<this->str.size();i++){
            if(this->str.at(i)>='a'&&this->str.at(i)<='z'){
                this->str.at(j)=this->str.at(i);
                j++;
            }
        }
        this->str.resize(j);
    }
    void dump(){
        char temp;
        for(unsigned int i=0;i<str.size()-1;i++){
            for(unsigned int j=0;j<str.size()-1-i;j++){
                if(str.at(j)>str.at(j+1)){
                    temp=str.at(j);
                    str.at(j)=str.at(j+1);
                    str.at(j+1)=temp;
                }
            }
        }
        cout<<str<<endl;
    }
 
};
class B
{
private:
    string str;
public:
    B() {}
    B(string str):str(str){
        int j=0;
        for(unsigned int i=0;i<this->str.size();i++){
            if(this->str.at(i)>='0'&&this->str.at(i)<='9'){
                this->str.at(j)=this->str.at(i);
                j++;
            }
        }
        this->str.resize(j);
    }
    void dump(){
        char temp;
        for(unsigned int i=0;i<str.size()-1;i++){
            for(unsigned int j=0;j<str.size()-1-i;j++){
                if(str.at(j)>str.at(j+1)){
                    temp=str.at(j);
                    str.at(j)=str.at(j+1);
                    str.at(j+1)=temp;
                }
            }
        }
        cout<<str<<endl;
    }
};
int main()
{
    string str;
    cin>>str;
    A a(str);
    a.dump();
    B b(str);
    b.dump();
    return 0;
}
相关推荐
脸大是真的好~14 分钟前
黑马JAVA+AI 加强07 Stream流-可变参数
java·开发语言
m0_7369270433 分钟前
使用 Python 将 PowerPoint 转换为 Word 文档
java·开发语言·后端·职场和发展·c#
杜子不疼.42 分钟前
【Rust】路由匹配与参数提取:从 match 语句到 axum 的类型魔法
开发语言·后端·rust
夜晚中的人海1 小时前
【C++】位运算算法习题
开发语言·c++·算法
裸奔在上海1 小时前
使用Java做URL短连接还原长链接获取参数
java·开发语言·程序人生·spring
爱吃烤鸡翅的酸菜鱼1 小时前
如何掌握【Java】 IO/NIO设计模式?工厂/适配器/装饰器/观察者模式全解析
java·开发语言·后端·设计模式·nio
程序员大雄学编程1 小时前
「用Python来学微积分」17. 导数与导函数
开发语言·python·数学·微积分
扶尔魔ocy2 小时前
【QT常用技术讲解】可拖拽文件的Widget--QListWidget
开发语言·qt
枫叶丹42 小时前
【Qt开发】布局管理器(一)-> QVBoxLayout垂直布局
开发语言·c++·qt
superior tigre2 小时前
(huawei)5.最长回文子串
c++·算法