五一 作业

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;
}
相关推荐
一点媛艺1 小时前
Kotlin函数由易到难
开发语言·python·kotlin
姑苏风1 小时前
《Kotlin实战》-附录
android·开发语言·kotlin
奋斗的小花生2 小时前
c++ 多态性
开发语言·c++
魔道不误砍柴功2 小时前
Java 中如何巧妙应用 Function 让方法复用性更强
java·开发语言·python
pianmian12 小时前
python数据结构基础(7)
数据结构·算法
闲晨2 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
老猿讲编程2 小时前
一个例子来说明Ada语言的实时性支持
开发语言·ada
UestcXiye3 小时前
《TCP/IP网络编程》学习笔记 | Chapter 3:地址族与数据序列
c++·计算机网络·ip·tcp
Chrikk3 小时前
Go-性能调优实战案例
开发语言·后端·golang
幼儿园老大*3 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go