求求大佬们

P5740 【深基7.例9】最厉害的学生

Cartier @ 2023-03-08 20:48:27


#include<bits/stdc++.h> 
using namespace std;
struct st{
    char a[9];
    int g1;
    int g2;
    int g3;
};//对每一个同学的思想信息设置一个结构体 
int main(){
    int n=0;
    cin>>n; //输入有多少个同学 
    st xsh[n];//为了存放多名同学信息采取结构体数组 
    int sum[n];
    for(int i=0;i<n;i++){
        cin>>xsh[i].a;
        cin>>xsh[i].g1;
        cin>>xsh[i].g2;
        cin>>xsh[i].g3;
        sum[i]=xsh[i].g1+xsh[i].g2+xsh[i].g3;
    }
    int max=sum[0];
    int r=0;
    for(int i=0;i<n;i++){
        if(sum[i]>max){
            max=sum[i];
            r=i;

        }
    }
    cout<<xsh[r].a<<" "<<xsh[r].g1<<" "<<xsh[r].g2<<" "<<xsh[r].g3;
    return 0;
}
请问char型数组为甚容量用8不行而9可以,它题目上不是要求不超过八位的字符串吗?用string也能过。还有string和char数组分别什么时候用何时?谢谢

by Castaways @ 2023-03-08 20:55:34

@Cartier 数组开大一点没问题吧,为什么一定要卡着数据范围来呢?然后string相对于字符数组来说更加灵活,可以用的函数也更加多。


by Cartier @ 2023-03-08 22:05:38

谢谢


|