printf() 函数中,输出 string 时要转换为字符数组
str.c_str()
7-9 学生成绩排序 (10 分)
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
using namespace std;
struct Person{
int id;
string name;
double score;
bool operator < (const Person &h) const {
return score > h.score;
}
}p[100];
int main()
{
int n;
cin >> n;
string s1;
int id;
double a, b, c;
for (int i=0; i<n; i++)
{
cin >> id >> s1 >> a >> b >> c;
p[i] = {id, s1, (a+b+c) / 3.0};
}
sort(p, p+n);
for (int i=0; i<n; i++) {
printf("%d,%s,%.2lf", p[i].id, p[i].name.c_str(), p[i].score);
if (i < n-1) printf("\n");
}
return 0;
}