Alnwicker 2023-03-19 19:40 采纳率: 100%
浏览 12
已结题

一道有关结构体的题,请您帮我的代码挑错

【题目】小云和朋友们去爬香山,为美丽的景色所陶醉,想合影留念。如果他们站成一排,男生全部在左(从拍照者的角度),并按照从矮到高的顺序从左到右排,女生全部在右,并按照从高到矮的顺序从左到右排,请问他们合影的效果是什么样的(所有人的身高都不同)?
【输入】第一行是人数n(2 <= n <= 40,且至少有1个男生和1个女生)。
后面紧跟n行,每行输入一个人的性别(男male或女female)和身高(浮点数,单位米),两个数据之间以空格分隔。
【输出】n个浮点数,模拟站好队后,拍照者眼中从左到右每个人的身高。每个浮点数需保留到小数点后2位,相邻两个数之间用单个空格隔开。


#include<bits/stdc++.h>
using namespace std;
int n;
bool cmp(int x,int y){
    return x%10>y%10;
}
for(n=2;n<=40;n++){
    Sort(num,num+n,cmp){
        for(int i=0;i<n;i++){
            cout<<num[i]<<" "; 
        }
    }
    return 0;
}
struct photo{
    char sex;
    float high;
}pho man,pho woman;
 
bool cmp(pho man,pho woman){
    sort(man.high);
    Sort(woman.high);
    return sort;
    return Sort;
}
int main(){
    cin>>n;
    cout<<fixed<<setprecision(20);
    reutrn 0; 
}
  • 写回答

2条回答 默认 最新

  • 追cium 2023-03-19 19:51
    关注

    参考GPT和自己的思路:

    首先,你的代码中存在一些语法错误和逻辑错误。下面是一些改正建议:

    1.排序函数cmp中的参数应该为const引用类型,即bool cmp(const int& x,const int& y)

    2.排序函数cmp的返回值应该是两个人的比较结果,不应该是sort或者Sort。

    3.排序函数cmp应该对男女分别排序,并按照题目要求排序。

    4.在main函数中,应该先存储每个人的信息(性别和身高),然后根据题目要求排序输出身高即可。

    5.在排序时,可以使用sort函数(而不是Sort)。

    下面是一个参考代码(仅供参考):

    #include<bits/stdc++.h>
    using namespace std;
    
    struct person{
        char sex; // M表示男性,F表示女性
        float height;
    };
    
    bool cmp(const person& a, const person& b){
        if(a.sex == b.sex){
            if(a.sex == 'M') return a.height < b.height; // 如果都是男性,则身高小的排在前面
            else return a.height > b.height; // 如果都是女性,则身高高的排在前面
        }
        return (a.sex == 'M'); // 如果不是同性,则男性排在前面
    }
    
    int main(){
        int n;
        cin >> n;
        vector<person> p(n);
        for(int i = 0; i < n; i++){
            cin >> p[i].sex >> p[i].height;
        }
        sort(p.begin(), p.end(), cmp);
        for(int i = 0; i < n; i++){
            cout << fixed << setprecision(2) << p[i].height << " ";
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月27日
  • 已采纳回答 3月19日
  • 创建了问题 3月19日

悬赏问题

  • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
  • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
  • ¥20 软件测试决策法疑问求解答
  • ¥15 win11 23H2删除推荐的项目,支持注册表等
  • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
  • ¥15 qt6.6.3 基于百度云的语音识别 不会改
  • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
  • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
  • ¥15 lingo18勾选global solver求解使用的算法
  • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行