浙大 | PTA 习题9-5 通讯录排序 (20分)
输入n个朋友的信息,包括姓名、生日、电话号码,本题要求编写程序,按照年龄从大到小的顺序依次输出通讯录。题目保证所有人的生日均不相同。
[EDIT]: 疫情时免费期间写的,现在题换了答案可能不再通用, 思路仅供参考
输入格式:
输入第一行给出正整数n(<10)。随后n行,每行按照“姓名 生日 电话号码”的格式给出一位朋友的信息,其中“姓名”是长度不超过10的英文字母组成的字符串,“生日”是yyyymmdd格式的日期,“电话号码”是不超过17位的数字及+、-组成的字符串。
输出格式:
按照年龄从大到小输出朋友的信息,格式同输出。
输入样例:
3
zhang 19850403 13912345678
wang 19821020 +86-0571-88018448
qian 19840619 13609876543
输出样例:
wang 19821020 +86-0571-88018448
qian 19840619 13609876543
zhang 19850403 13912345678
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define NUMBER 18
#define NAME 11struct student
{char name[NAME];int birsday;char number[NUMBER];
};int main(void)
{int n ;scanf("%d", &n);struct student * ptr = (struct student *) malloc (n * sizeof(struct student));struct student temp;for (int i = 0; i < n; i++) //读取数据{scanf("%s", ptr[i].name);scanf("%d", &ptr[i].birsday);scanf("%s", ptr[i].number);while (getchar() != '\n') continue;}for (int i = 0; i < n-1; i++) //排序{for (int j = 0; j< n - 1 - i; j++){if (ptr[j].birsday > ptr[j + 1].birsday){temp = ptr[j];ptr[j] = ptr[j + 1];ptr[j + 1] = temp;}}}for (int i = 0; i < n; i ++) //输出printf("%s %d %s\n", ptr[i].name, ptr[i].birsday, ptr[i].number);return 0;
}
浙大 | PTA 习题9-5 通讯录排序 (20分)相关推荐
- PTA习题7-1 选择法排序 (20 分)
习题7-1 选择法排序 (20 分) 本题要求将给定的n个整数从大到小排序后输出. 输入格式: 在一行中输出从大到小有序的数列,相邻数字间有一个空格,行末不得有多余空格. 输入样例: 4 5 1 7 ...
- 习题9-5 通讯录排序 (20分)
[回复 :"编程交流群"" 进C/C++/Java编程题交流.问题解答群,和大佬一起进步](() [](()习题9-5 通讯录排序 输入n个朋友的信息,包括姓名.生日.电 ...
- 通讯录排序 (20分)_算法入门篇:简单的排序算法
作者:dorseyCh来源:http://www.imooc.com/article/264180 很久之前有过一次面试,被问到一个问题,能不能写一个冒泡排序?说实话,尽管在这之前曾经写过不少比这个更 ...
- 习题7-1 选择法排序 (20 分)
方法一:直接插入排序 #include<stdio.h> #include<math.h> #include<string.h> int main(){int a[ ...
- 习题8-7 字符串排序 (20 分)
习题8-7 字符串排序 (20 分) 本题要求编写程序,读入5个字符串,按由小到大的顺序输出. 输入格式: 输入为由空格分隔的5个非空字符串,每个字符串不包括空格.制表符.换行符等空白字符,长度小于8 ...
- 【PTA题目解答】习题6-7 简单计算器 (20 分)模拟简单运算器的工作。
习题6-7 简单计算器 (20 分)模拟简单运算器的工作. 习题6-7 简单计算器 (20 分)模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从 ...
- 习题1.8 二分查找 (20 分)
习题1.8 二分查找 (20 分) 本题要求实现二分查找算法. 函数接口定义: Position BinarySearch( List L, ElementType X ); 其中List结构定义如下 ...
- 7-27 冒泡法排序 (20 分)
7-27 冒泡法排序 (20 分) 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的 ...
- 习题2.1 简单计算器 (20 分)
习题2.1 简单计算器 (20 分) 模拟简单运算器的工作.假设计算器只能进行加减乘除运算,运算数和结果都是整数,四种运算符的优先级相同,按从左到右的顺序计算. 输入格式: 输入在一行中给出一个四则运 ...
最新文章
- 南开大学提出最新边缘检测与图像分割算法,精度刷新记录(附开源地址)
- InnoDB Double write
- 蓝桥杯 基础练习 2n皇后
- python plotly 弹出子图_python – 在plotly中添加组条形图作为子图
- 书呆子rico_寻找设计和类型书呆子的清道夫
- xss 全编码两次_XSS进阶
- 【转载】使用Epoll的框架例子二
- 编程中、遇到问题、bug多思考
- .net mysql 测试连接数据库连接,C#.NET连接mysql方法
- 文件二维码、社交媒体二维码如何制作?
- 神级 IDEA 插件,能让你的代码飞起来!
- 赛尔号7月17日服务器维护,赛尔号07月17日更新攻略汇总 环城之光圣芒降临
- 【word】和【excel】小技巧总结
- 堡垒机4a认证是什么意思?是指哪4a?
- Python视觉深度学习系列教程 第二卷 第10章 GoogLeNet
- 电子白板计算机培训心得,电子白板培训总结
- 软件实习项目4——校园一卡通管理系统(成品展示)
- MATLAB2022a更新了,看MATLAB2022详细安装教程
- python物联网工具
- Python爬取数据并存入MongoDB
热门文章
- 区分联通、移动、电信 号码的策略
- HLK-B36 WIFI/BLE 二合一透传沙雕按键说明
- redis数据库指令
- mysql修改database名_MySQL中修改database的名字
- CSS制作的32种图形效果 梯形 | 三角 | 椭圆 | 平行四边形 | 菱形 | 四分之一圆 | 旗帜
- 7-15 福到了 c语言,7-54 福到了 (15 分)
- 原创短视频被搬运,平台也会侵权吗
- farm together(一起玩农场)奖励物品代码(截止2021.2.10)
- 1、字符串与数字相互转换
- 安装kali步骤(超级超级详细)