题目链接

题目描述

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

输入格式
第一行是人数 n(2 ≤ n ≤ 40,且至少有 1 个男生和 1 个女生)。

后面紧跟 n 行,每行输入一个人的性别(男male或女female)和身高(范围在 [0,2] 内的浮点数,单位米),两个数据之间以空格分隔。

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

Sample Input

6
male 1.72
male 1.78
female 1.61
male 1.65
female 1.70
female 1.56

Sample Output

1.65 1.72 1.78 1.70 1.61 1.56

思路

对比上一题,本题难度陡增。当然有难度才更好玩。题意是男生在左,从矮到高排序,女生在右,从高到矮排序。

strcmp()字符串比较函数;swap()交换函数。

C++代码:

#include<bits/stdc++.h>
using namespace std;
double a[50], b[50];
struct people
{float high;char sex[20];
}peo[50];
int main()
{int n;while(cin >> n){int p = 0, q = 0;for(int i = 0; i < n; i++){cin >> peo[i].sex >> peo[i].high;if(strcmp(peo[i].sex, "male") == 0) a[p++] = peo[i].high;else b[q++] = peo[i].high;}for(int i = 0; i < p; i++)for(int j = i + 1; j < p; j++)if(a[i] > a[j])swap(a[i], a[j]);for(int i = 0; i < q; i++)for(int j = i + 1; j < q; j++)if(b[i] < b[j])swap(b[i], b[j]);for(int i = 0; i < p; i++)printf("%.2lf ", a[i]);for(int i = 0; i < q; i++)printf("%.2lf ", b[i]);printf("\n");}return 0;
}

没有C语言基础的同学们,可以先学习一下C语言语法,我会整理好,后面发出来
我已经写好了,可以去C语言程序设计专栏看第一周的内容。

本周其他练习:

C语言程序设计专栏

C/C++编程学习 - 第7周 ① 计算(a+b)*c的值

C/C++编程学习 - 第7周 ② 计算(a+b)/c的值

C/C++编程学习 - 第7周 ③ 角谷猜想

C/C++编程学习 - 第7周 ④ 鸡尾酒疗法

C/C++编程学习 - 第7周 ⑤ 与指定数字相同的数的个数

C/C++编程学习 - 第7周 ⑥ 合影效果

C/C++编程学习 - 第7周 ⑦ 单词翻转

C/C++编程学习 - 第7周 ⑥ 合影效果相关推荐

  1. C/C++编程学习 - 第7周 ④ 鸡尾酒疗法

    题目链接 题目描述 鸡尾酒疗法,原指 "高效抗逆转录病毒治疗"(HAART),由美籍华裔科学家何大一于 1996 年提出,是通过三种或三种以上的抗病毒药物联合使用来治疗艾滋病.该疗 ...

  2. C/C++编程学习 - 第6周 ⑦ 分离整数的各个数位

    题目链接 题目描述 小蒜给了你一个整数,要求从个位开始分离出它的每一位数字. 输入格式 输入一个整数,整数在 1 到 108 之间. 输出格式 从个位开始按照从低位到高位的顺序依次输出每一位数字.数字 ...

  3. C/C++编程学习 - 第4周 ⑦ 判断是否为两位数

    题目链接 题目描述 判断一个正整数是否是两位数(即大于等于 10 且小于等于 99). 蒜头君:很简单的,快来通过它吧! 输入格式 一个正整数,不超过 1000. 输出格式 一行.若该正整数是两位数, ...

  4. C/C++编程学习 - 第5周 ② 向左看齐

    题目链接 题目描述 上体育课时,某班 n 个小朋友排成一列.随着体育老师的一声"向左看齐",同学们都朝着左边看.现在每个同学想知道左边的同学中,有多少人的身高比自己矮. 输入格式 ...

  5. C/C++编程学习 - 第6周 ⑤ 球弹跳高度的计算

    题目链接 题目描述 蒜头君让一个球从某一高度落下(整数,单位米),每次落地后反跳回原来高度的一半,再落下.编程计算气球在第 10 次落地时,共经过多少米?第 10 次反弹多高? 输入格式 输入一个整数 ...

  6. C/C++编程学习 - 第5周 ⑧ 判断直角三角形

    题目链接 题目描述 输入三个整数,判断用这三个整数做边长是否能构成一个直角三角形. 输入格式 输入三个整数. 输出格式 能否构成直角三角形,如能输出:"yes",若不能,输出:&q ...

  7. C/C++编程学习 - 第1周 ⑦ 头文件、强制类型转换、递归

    文章目录 头文件 引用头文件的语法 引用头文件的操作 只引用一次头文件 有条件引用 强制类型转换 整数提升 常用的算术转换 递归 数的阶乘 斐波那契数列 本周其他文章: 头文件 头文件包含了 C 函数 ...

  8. C/C++编程学习 - 第4周 ④ 0与1

    题目链接 题目描述 小蒜上了他的第一堂计算机概论,老师说计算机内部是由很多的小开关来组成:1 代表开.0 代表关.于是聪明的小蒜便了解了,原来我们平常使用电灯开关就是把 1 变成 0.0 变成 1 嘛 ...

  9. C/C++编程学习 - 第4周 ⑧ 小蒜蒜的成绩

    题目链接 题目描述 小蒜蒜告诉了你她的语文和数学成绩,判断是否恰好有一门课不及格(成绩小于 60 分). 输入格式 一行,包含两个在 0 到 100 之间的整数,分别是该生的语文成绩和数学成绩. 输出 ...

最新文章

  1. 学习攻略|清华大学对外免费开放2000门课程
  2. 独家 | 手把手教你用Python进行Web抓取(附代码)
  3. IE中页面不居中,火狐谷歌等正常
  4. python 导包语法 import package as name 和 from package import name 的区别
  5. html li 做瀑布流,js实现瀑布流效果(自动生成新的内容)
  6. android 蒙版图片带拖动_推荐一个好用小巧的Android引导蒙版(浮层)库
  7. ACM MM 2021 北航鹏城实验室提出 SOD 新方法:互补三边解码器网络(CTDNet),兼顾高性能和高效率...
  8. 现代电子计算机诞生理论基础是什么,《计算机应用基础》习题集2
  9. Zabbix 结合 bat 脚本与计划任务开启 windows 远程桌面
  10. highcharts
  11. 运营商iptv服务器,电信运营商IPTV业务发展趋势浅析
  12. 手游联运系统包括什么功能?
  13. 诸行无常、诸法无我、诸漏皆苦、涅槃寂静
  14. 帝国cms如何安装php模板,帝国CMS整站源码通用安装教程
  15. Java获取当前时间是本周、本月、本年的第几天
  16. 刚换了Mac本这些快捷键你知道吗?
  17. 公司官网建站笔记(五):域名工信部备案完整流程并解析公网访问
  18. eclipse 使用 firebase analysis sdk
  19. BottomBarLayout——方便快捷地实现底部导航栏
  20. 【Linux】在当前目录下创建文件夹

热门文章

  1. 大脑记忆系统研究取得重大进展:或被用于开发新的芯片和操作系统
  2. 前端——js关闭页面方法
  3. 后台权限管理层级分配两个必要的递归函数
  4. 64个数据分析常用术语
  5. 莫队算法 ( MO's algorithm )
  6. 灭霸只是开始 看数字王国的虚拟版图
  7. 数据湖:数据同步工具NiFi
  8. h5新API=>IntersectionObserver
  9. 什么是等级保护?等保二级和三级的区别?
  10. 在Python中输入汉字以及六个撇