1 条题解

  • 1
    @ 2023-10-3 19:10:43

    偶然发现string类可以定义二维数组,那不就等于三维数组了吗???(震惊)

    #include<iostream>
    using namespace std;
    int change(string a){//定义函数,将数字string转化为int
    	int k=1,sum=0;
    	for(int i=a.size()-1;i>=0;i--){
    		sum+=(a[i]-'0')*k;
    		k*=10;
    	}
    	return sum;
    }
    int main(){
    	string s[101][5];//存储字符串信息
    	int n,t[101],all[101];//all记总分,t存储总分有序排列时的下标次序
    	cin>>n;
    	for(int i=0;i<n;i++){//读入信息
    		for(int j=0;j<5;j++)
    		cin>>s[i][j];
    		all[i]=change(s[i][1])+change(s[i][2])+change(s[i][3]);//计算总分,并存储进数组
    		t[i]=i;//顺次记录字符串下标即总分下标,待排序时使用
    	}
    	for(int i=0;i<n-1;i++)
    	for(int j=0;j<n-i-1;j++)
    	if(all[t[j]]<all[t[j+1]]){//冒泡排序,使t内存储有序排列时,字符串和总分下标
    		int x=t[j];
    		t[j]=t[j+1];
    		t[j+1]=x;
    	}
    	for(int i=0;i<n;i++)//以t序输出
    	cout<<s[t[i]][0]<<" "<<all[t[i]]<<" "<<s[t[i]][4]<<endl;
    }
    
    • 1

    信息

    ID
    386
    时间
    1000ms
    内存
    256MiB
    难度
    4
    标签
    递交数
    86
    已通过
    39
    上传者