五一 作业

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;
}
相关推荐
寻星探路31 分钟前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
lly2024062 小时前
Bootstrap 警告框
开发语言
2601_949146533 小时前
C语言语音通知接口接入教程:如何使用C语言直接调用语音预警API
c语言·开发语言
你撅嘴真丑3 小时前
第九章-数字三角形
算法
曹牧3 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
在路上看风景3 小时前
19. 成员初始化列表和初始化对象
c++
KYGALYX3 小时前
服务异步通信
开发语言·后端·微服务·ruby
uesowys3 小时前
Apache Spark算法开发指导-One-vs-Rest classifier
人工智能·算法·spark
zmzb01033 小时前
C++课后习题训练记录Day98
开发语言·c++
ValhallaCoder3 小时前
hot100-二叉树I
数据结构·python·算法·二叉树