|
|
发表于 2023-10-29 18:51:13
|
显示全部楼层
你的代码中有几个问题需要修正:
1. #include <bits/stdc++.h> 后面需要加上分号。
2. bool cmp(Data a,Data b) 函数没有返回值,应该返回一个布尔值。
3. int mian() 应该是 int main()。
修正后的代码如下:
- #include <bits/stdc++.h>
- using namespace std;
- const int N=10010;
- struct Data {
- int x;
- double y;
- string z;
- }
- Data no[N];
- bool cmp(Data a,Data b) {
- return a.x<b.x;
- }
- int main() {
- int n;
- scanf("%d",&n);
- for(int i=0;i<n;i++)
- cin>>no[ i].x>>no[ i].y>>no[ i].z;
- sort(no,no+n,cmp);
- for(int i=0;i<n;i++) {
- printf("%d %.2lf %s\
- ",no[ i].x,no[ i].y,no[ i].z.c_str());
- }
- return 0;
- }
复制代码
这段代码首先定义了一个结构体 Data,然后创建了一个 Data 类型的数组 no。然后定义了一个比较函数 cmp,用于比较两个 Data 对象的 x 值。在 main 函数中,首先读入一个整数 n,然后读入 n 个 Data 对象,并将它们按照 x 值的大小进行排序,最后输出排序后的结果。
请注意,本回答来自GPT-4
如果问题已经解决,请设置最佳答案 |
|