• 个人简介

    字符数组和字符串:
    字符数组定义:
    char arr[长度]  最后一位'\0',字符数组结束
    获取字符数组长度:
    strlen(数组名)
    for(int i=1;i<strlen(arr);i++)
    {
        cout<<arr[i]<<" ";
    }
    识别最后一位'\0'
    for(int i=0;arr[i]!='\0')
    {
        cout<<arr[i]<<" ";
    }
    获取整行字符数组:
    cin.getline(数组名,长度)
    字符数组常见函数:
    strcpy(目标数组,原数组)字符数组拷贝
    strcat(str1,str2) 两个字符数组连接(str后面添加str2)
    strchr(str,'a')  在字符数组中查找单个字符,找到1,没找到0
    strstr(str,"dfff")  在字符数组中查找子串,找到1,没找到0
    判断单个字符通用方法:
    isupper(ch)  判断ch是否为大写
    islower(ch)  判断ch是否为小写
    isdigit(ch)  判断ch是否为数字
    isalpha(ch)  判断ch是否为字母
    字符串定义:
    string str;
    输入没有空格:
    cin>>str;
    输入有空格(整行):
    getline(cin,str)
    字符串常见函数:
    str.size() 获取字符串长度,str.length()
    str.empty() 判断字符串是否为空
    str.clear() 清空字符串
    str.find("sub") 查找字符串中是否存在子串sub
    str.insert(位置,“内容”)  字符串插入
    str.erase(位置,删除长度) 字符串删除
    str.replace(位置,长度,“替换内容”) 字符串替换
    结构体:可以存储多种数据元素
    struct 结构体名
    {
         数据类型1;
         数据类型2;
        。。。。。。
    };
    引用结构体:
    1.student s;//创建s对象
    2.struct 结构体名
    {
        数据类型1;
        数据类型2;
       。。。。。。
    }stu;//结构体后面创建stu对象
    结构体填充数据
    cin>>stu.数据类型
    结构体初始化
    1.结构体名 对象名={“xx”,98,89}
    2.a.name="xx";
    a.max=98
    ..
    结构体数组
    1.在结构体结束后面直接加数组
    struct 结构体
    {
         数据......
    }a[100];
    2.结构体名 数组名[空间]
    
    #include<bits/stdc++.h>
    using namespace std;
    struct st{
    int id ;// 学生的id
    int cs; // 语文
    int mt; // 数学
    int eg; // 英语
    int total;//总分
    
    }a,arr[100];  // a 单名学生,arr 多名学生
    bool cmp(st s1,st s2){ // 自定义函数 (两名学生)
    if(s1.total!=s2.total){
    return s1.total>s2.total;
    }
    if(s1.cs!=s2.cs){
    return s1.cs>s2.cs;
    }
    return s1.id<s2.id;
    }
    int main(){
    int n;
    cin>>n;
    for(int i = 1;i<=n;i++){
    arr[i].id = i; // 每名学生打上编号
    cin>>arr[i].cs>>arr[i].mt>>arr[i].eg;
    arr[i].total = arr[i].cs+arr[i].mt+arr[i].eg;
    }
    sort(arr+1,arr+n+1,cmp);
    for(int i = 1;i<=n;i++){
    cout<<arr[i].cs<<" "<<arr[i].mt<<" "<<arr[i].eg<<endl;
    }
    }
    
    
    class 类:
    class Box  //类关键字class
    {
        private: 
             double length;//属性
             double width;
        public:  //公用
             void setLength(double length); //私有设置
             void setWidth(double width);//私有设置
             double getLength(); //私有获取
             double getWidth();  //私有获取
             double getArea();  //行为 获取面积
             double getZc(){  //行为周长
                      return 2*(length+width);
    };
    void Box::setLength(double length)
    {
         this->length=length; //this指针访问自己
    }
    void Box::setWidth(double width)
    {
          this->width=width;  //this指针访问自己
    }
    double Box::getLength()  //获取私有leng
    {
         return length;
    }
    double Box::getWidth()  //获取私有width
    {
         return width;
    }
    double Box::getArea()  //::作用域
    {
         return length*width;  //没有作用域len,wid没有申请会报错
    }
    int main()
    {
         Box box;  //类的实例化
    //  cin>>box.length>>box.width;
    //  cout<<box.length*box.width;
         box.setLength(6.0);
         box.setWidth(7.0);
         cout<<box.getArea()<<endl;
         cout<<box.getZc()<<endl;  
    }
    
    
    
    
    
  • 最近活动