问题链接:CCF NOI1051 合影



时间限制: 1000 ms  空间限制: 262144 KB

题目描述

小云和朋友们去爬香山,为美丽的景色所陶醉,想合影留念。如果他们站成一排,男生全部在左(从拍照者的角度),并按照从矮到高的顺序从左到右排,女生全部在右,并按照从高到矮的顺序从左到右排,请问他们合影的效果是什么样的(所有人的身高都不同)?

输入

第一行是人数n(2 <= n <= 40,且至少有1个男生和1个女生)。
  后面紧跟n行,每行输入一个人的性别(男male或女female)和身高(浮点数,单位米),两个数据之间以空格分隔。

输出

n个浮点数,模拟站好队后,拍照者眼中从左到右每个人的身高。每个浮点数需保留到小数点后2位,相邻两个数之间用单个空格隔开。

样例输入

6
male 1.72
male 1.78
female 1.61
male 1.65
female 1.70
female 1.56
样例输出

1.65 1.72 1.78 1.70 1.61 1.56

数据范围限制

提示



问题分析

这是一个排序问题,排序后输出结果即可。

可以采用男女分别存储排序,分别输出。这里的给出的两个程序就是采用这种方法。

另外一种方法是所有数据一起排序(需要带上性别),然后两次顺序读一遍(一次从大到小,另外一次从小到大),就可以得到想要的结果。这个思路的程序还没有做。

程序说明

这里给出C语言程序和C++语言程序。它们的排序函数不一样,需要注意。

想比较而言,C++语言的排序函数sort()使用起来比较简洁。

要点详解

  • 使用宏定义可以使得代码可阅读性增强。
  • C语言的排序函数是qsort(),需要留意用法。
  • C++语言的排序函数是sort(),需要留意用法。

参考链接:(略)。


100分通过的C语言程序:

#include <stdio.h>
#include <stdlib.h>#define N 40float male[N], female[N];int cmp1( const void *a , const void *b )
{return *(float *)a > *(float *)b ? 1 : -1;
}int cmp2( const void *a , const void *b )
{return *(float *)a < *(float *)b ? 1 : -1;
}int main(void)
{int n, nm, nf, i;char sex[7];scanf("%d", &n);for(i=0,nm=0,nf=0; i<n; i++) {scanf("%s%f", sex, &male[nm]);if(sex[0] == 'm')nm++;elsefemale[nf++] = male[nm];}qsort(male, nm, sizeof(float), cmp1);qsort(female, nf, sizeof(float), cmp2);for(i=0; i<nm; i++)printf("%.2f ", male[i]);for(i=0; i<nf; i++)printf("%.2f ", female[i]);printf("\n");return 0;
}

100分通过的C++语言程序:

#include <iostream>
#include <algorithm>
#include <cstdio>using namespace std;const int N = 40;float male[N], female[N];int main()
{int n, nm, nf;char sex[7];cin >> n;nm = nf = 0;for(int i=0; i<n; i++) {cin >> sex >> male[nm];if(sex[0] == 'm')nm++;elsefemale[nf++] = male[nm];}sort(male, male + nm, less<float>());sort(female, female + nf, greater<float>());for(int i=0; i<nm; i++)printf("%.2f ", male[i]);for(int i=0; i<nf; i++)printf("%.2f ", female[i]);printf("\n");return 0;
}

CCF NOI1051 合影相关推荐

  1. Apio2016 游记

    Day 1 报到 早晨从长途汽车站出发,原来加上Lx只有6个人. 座位非常幸运地被换到了Lx旁边. 大概坐了5个多小时的车,刚开始教Lx玩魔方,转了一会之后她竟然晕车了!聊天时发现她挺萌的= = 就这 ...

  2. 2021 CCF颁奖典礼隆重举行

    2021 CCF颁奖典礼于2022年2月19日在浙江横店圆明新园法国馆隆重举行.颁奖典礼以"责任•创新•奉献"为主题,隆重颁发了2021年度CCF终身成就奖.CCF夏培肃奖.CCF ...

  3. 西华大学计算机学院陈鹏,中国计算机学会CCF服务计算专委会走进西华大学

    近日,"中国计算机学会CCFF服务计算专委走进高校活动"来到西华大学.此次活动邀请到CCF服务计算专委会副主任.天津大学冯志勇教授,南京大学马晓星教授,CCF服务计算专委会副秘书长 ...

  4. 开始报名丨CCF C³-13@奇安信:透视俄乌网络战 —— 网络空间基础设施面临的安全对抗与制裁博弈...

    CCF C³活动第十三期主题:透视俄乌网络战--网络空间基础设施面临的安全对抗与制裁博弈,将于7月8日周五晚(18:00-21:30),在奇安信安全中心举行,名额有限,报名从速. 自俄乌军事冲突正式爆 ...

  5. 全国计算机等级考试 和ccf,【我与CCF】我与CCF的不解之缘

    我是一名普通的中学信息技术教师,但阴差阳错进入信息学竞赛这个领域,从而与中国计算机学会(CCF)结下了不解之缘. 我在2002年调入衡阳市八中,一进校就被学校领导安排带信息学竞赛,当时的我年轻气盛,也 ...

  6. 八中计算机是学啥的,邹毅:我与CCF的不解之缘

    我是一名普通的中学信息技术教师,但阴差阳错进入信息学竞赛这个领域,从而与中国计算机学会(CCF)结下了不解之缘. 我在2002年调入衡阳市八中,一进校就被学校领导安排带信息学竞赛,当时的我年轻气盛,也 ...

  7. CCF公布国家集训队50进15名单!5月确定IOI2019选手!

    近日,由中国计算机学会(CCF)主办,广州市第二中学承办的第36届全国青少年信息学奥林匹克冬令营(CCF NOI2019冬令营)于广州举行. 本次冬令营规模创历史新高,共有来自全国29个省市自治区的7 ...

  8. CCF C³-19@航天宏图:星链互联,创新未来——商业卫星互联网时代的思考丨开始报名...

    CCF C³活动第十九期主题是:星链互联,创新未来--商业卫星互联网时代的思考,将于2023年4月25日周二(13:30-16:30),在航天宏图北京总部举行,报名从速. 卫星互联网是基于卫星通信的互 ...

  9. CCF C³-20@滴滴:智能技术与交通治理 | 报名

    CCF C³活动第二十期主题是:智能技术与交通治理,将于2023年5月16日周二(18:00-21:30),在北京滴滴大厦举行,报名从速. 作为衣食住行的基本需求之一,出行是很多人日常生活中重要的一部 ...

最新文章

  1. 【白话机器学习】算法理论+实战之EM聚类
  2. python-03 爬虫相关
  3. esp8266烧录Html文件,实现内置网页控制设备!
  4. python编程图片大全_Python编程实现的图片识别功能示例
  5. 华为获 25 份 5G 合同;ofo 退款用户数超千万;贾跃亭躲豪宅拒收法律文书 | 极客头条...
  6. python列表count()函数
  7. HandlerInterceptor与MethodInterceptor
  8. et中计算机的快捷键,ET制版快捷键
  9. 【hadoop权威指南第四版】第四章hadoop的IO【笔记+代码】
  10. webrtc---桌面共享原理
  11. 支付宝当面付网站对接支付教程
  12. sql server使用DAC连接查询系统表
  13. 2022年Unity客户端面试题总结
  14. QT下载速度慢的解决方法
  15. 虚拟麦克风音频输入_塑电竞强音 为专业而声 全新职业级罗技G PRO X游戏耳机麦克风震撼上市...
  16. brpc介绍、编译与使用
  17. 设计模式 - 软件设计的七大原则
  18. CSAPP第一章读书笔记
  19. 【极海APM32替代笔记】低功耗模式下的RTC唤醒(非闹钟唤醒,而是采用RTC_WAKEUPTIMER)
  20. Python+Opencv:在视频上叠加一个背景透明Logo

热门文章

  1. ArcGIS Maritime Server 开发教程(六)Maritime Service 开发技巧
  2. arcgis图层叠加不匹配
  3. mysqli_connect参数的写法以及如何设置特定端口
  4. VC中借助DirectDraw实现水波的模拟
  5. mysql 极限优化配置_MySQL优化(二) 优化诀窍
  6. Spring boot的helloword
  7. Bug--Tomcat Error start child
  8. php打印出前一天时间戳,使用php 获取时间今天明天昨天时间戳的详解
  9. 剑指offer面试题27. 二叉树的镜像(递归)
  10. 剑指offer面试题24. 反转链表(双指针)