• 个人简介

    读取字符数组包括换行:
    cin.getline(字符数组名,长度)
    获取字符数组长度:
    strlen(字符数组名)
    字符数组常见方法:
    strcpy(目标数组,原数组) 复制数组
    strcat(str1,str2) 连接两个数组
    strcmp(str1,str2) 字符数组的比较
    字符串(包括空格):
    getline(cin,字符串名)
    字符串常见方法:
    str.length() 获取字符串长度(str.size())
    str.empty()  判断字符串是否为空
    str.clear() 清空字符串
    str.find("sub") 查找子串
    str.insert(pos,"插入数据") 字符串插入
    str.replace(pos,len,"新的字符串") 代替字符串
    str.erase(pos,len) 删除指定位置,指定长度子串
    通用:
    isdigit(ch) 判断单个字符是否为数字
    isupper(ch) 判断单个字符是否为大写
    islower(ch) 判断单个字符是否为小写
    
    结构体:
    struct 结构体名{
    //例如
    int 某个变量
    int chengji;
    int shuxue;
    int yuwen;
    int zongfen;
    类型都可以:如:chair,string(需要库)
    }
    声明单个:
    结构体名 单个名称;
    如:
    结构体名 student;
    结构体名 student1;
    声明单个2:
    直接在结构体声明的第二个大括号后声明
    如:
    struct 结构体名{
    //例如
    int 某个变量
    int chengji;
    int shuxue;
    int yuwen;
    int zongfen;
    类型都可以:如:chair,string(需要库)
    }student,student1,student2,......;
    声明单个列表:
    结构体名 单个名称[个数];
    如:
    结构体名 student[10];
    声明单个列表2:
    直接在结构体声明的第二个大括号后声明
    如:
    struct 结构体名{
    //例如
    int 某个变量
    int chengji;
    int shuxue;
    int yuwen;
    int zongfen;
    类型都可以:如:chair,string(需要库)
    }student[10],......;
    输入:
    cin>>student.某个变量名>>......;
    例如:
    cin>>student.chengji;
    将一个数据是另两个的总合:
    单个:
    单个名称.某个变量名 = 单个名称.某个变量名+单个名称.某个变量名;
    例如:
    student.zongfen=student.shuxue+student.yuwen;
    列表:
    单个名称.某个变量名[n] = 单个名称.某个变量名[n]+单个名称.某个变量名[n];
    例如:
    student[1]=student[2]+student[0];
    输出:
    单个:
    cout<<单个名称.某个变量名;
    例如:
    cout<<student.zongfen;
    
    #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;
    }
    }
    
    
  • 最近活动