博主不定期更新【保研/推免、C/C++、5G移动通信、Linux、生活随笔】系列文章,喜欢的朋友【点赞+关注】支持一下吧!


  通讯录中的一条记录包含下述基本信息:朋友的姓名、出生日期、性别、固定电话号码、移动电话号码。 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录。

输入格式:
  输入在第一行给出正整数N(≤10);随后N行,每行按照格式姓名 生日 性别 固话 手机给出一条记录。其中姓名是不超过10个字符、不包含空格的非空字符串;生日按yyyy/mm/dd的格式给出年月日;性别用M表示“男”、F表示“女”;固话手机均为不超过15位的连续数字,前面有可能出现+

  在通讯录记录输入完成后,最后一行给出正整数K,并且随后给出K个整数,表示要查询的记录编号(从0到N−1顺序编号)。数字间以空格分隔。

输出格式:
  对每一条要查询的记录编号,在一行中按照姓名 固话 手机 性别 生日的格式输出该记录。若要查询的记录不存在,则输出Not Found

输入样例:

3
Chris 1984/03/10 F +86181779452 13707010007
LaoLao 1967/11/30 F 057187951100 +8618618623333
QiaoLin 1980/01/01 M 84172333 10086
2 1 7

输出样例:

LaoLao 057187951100 +8618618623333 F 1967/11/30
Not Found

下面给出网上看到思路比较清晰的代码:

#include <stdio.h>
#include <string.h>struct contacts{char name[11];  //字符串结尾有0,长度需加1,下同 char birth[11];char gender;char fphone[17]; //固定电话fixed phone char mphone[17]; //移动电话mobile phone
};void input();
void output();int main()
{int n;scanf("%d", &n);struct contacts t[n];  //定义结构体数组,数组中每个元素都是一个结构体 input(t, n);output(t, n);return 0;
}void input(struct contacts p[], int n)
{int i;for(i = 0; i < n; i++) {scanf("%s %s %c %s %s", p[i].name, p[i].birth, &p[i].gender, p[i].fphone, p[i].mphone); //gender不是数组,别忘了& }
}void output(struct contacts q[], int n)
{int m;scanf("%d", &m);int a[m]; //用一个数组记录要查找的记录编号 int j;for(j = 0; j < m; j++) {scanf("%d", &a[j]);}for(j = 0; j < m; j++) {if(a[j] >=0 && a[j] < n) {  printf("%s %s %s %c %s\n", q[a[j]].name, q[a[j]].fphone, q[a[j]].mphone, q[a[j]].gender, q[a[j]].birth);}else {printf("Not Found\n");}}
}

PTA:7-34 通讯录的录入与显示 (10分)相关推荐

  1. 7-27 通讯录的录入与显示 (10 分)

    7-27 通讯录的录入与显示 (10 分) 通讯录中的一条记录包含下述基本信息:朋友的姓名.出生日期.性别.固定电话号码.移动电话号码. 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录. ...

  2. 7-34 通讯录的录入与显示 (10 分)

    通讯录中的一条记录包含下述基本信息:朋友的姓名.出生日期.性别.固定电话号码.移动电话号码. 本题要求编写程序,录入N条记录,并且根据要求显示任意某条记录. 输入格式: 输入在第一行给出正整数N(≤1 ...

  3. PTA 实验7-5 输出大写英文字母(10 分)

    PTA 实验7-5 输出大写英文字母(10分) 题目: 本题要求编写程序,顺序输出给定字符串中所出现过的大写英文字母,每个字母只输出一遍:若无大写英文字母则输出"Not Found" ...

  4. <PTA>7-4 以英里计的平均速度 (10 分)

    题目: 假设一个跑步者m分钟s秒内跑了d公里.编写一个程序显示以每小时多少英里为单位的平均速度值.(注意:1英里等于1.6公里) 输入格式: 在一行中给出3个正整数,分别是m,s,d. 输出格式: 输 ...

  5. PTA(C++):L1-2 大笨钟(10分)[简单if判断]

    题目: 微博上有个自称"大笨钟V"的家伙,每天敲钟催促码农们爱惜身体早点睡觉.不过由于笨钟自己作息也不是很规律,所以敲钟并不定时.一般敲钟的点数是根据敲钟时间而定的,如果正好在某个 ...

  6. PTA刷题记录:L1-047 装睡 (10分)

    L1-047 装睡 (10分) 题目要求: 你永远叫不醒一个装睡的人 -- 但是通过分析一个人的呼吸频率和脉搏,你可以发现谁在装睡!医生告诉我们,正常人睡眠时的呼吸频率是每分钟15-20次,脉搏是每分 ...

  7. PTA 7-1 在数组中查找指定元素 (10 分)

    输入一个正整数repeat (0<repeat<10),做repeat次下列运算: 输入一个正整数 n (1<n<=10),然后输入n个整数存入数组a中,再输入一个整数x,在数 ...

  8. php修改新闻分类代码,新闻分类录入、显示系统_php

    本系统可以录入标题.内容.图片.相关软件,显示时会根据是否有有图片和相关软件来判断是否显示该项内容,打开页面显示的是最新的一片文章,点击目录会显示之前的文章. 建立channelimages和chan ...

  9. switch 根据键盘录入成绩 显示分数及判断等级(第三次)

    package Day; import java.util.Scanner; //根据键盘录入成绩 显示分数及判断等级 public class Test_09 { // 需求分析:根据成绩的范围80 ...

最新文章

  1. 远去的高考,消逝的大一……
  2. TF之AutoML框架:AutoML框架的简介、特点、使用方法详细攻略
  3. leetcode-Symmetric Tree 对称树
  4. php background-color:,background-color属性怎么用
  5. 被程序员忽视的位运算
  6. mybatis-plus的代码生成器
  7. python的open方法_Python os.open() 方法
  8. 前端学习(2607):vue指令
  9. oracle 实现 drop table if exists
  10. 根据hibernate拦截器实现可配置日志的记录
  11. InfoPath读取数据库
  12. 阿里线上bug排查命令
  13. (转载)VS2010/MFC编程入门之五十二(Ribbon界面开发:创建Ribbon样式的应用程序框架)...
  14. 调度失败:执行器地址为空_三千字带你搞懂XXL-JOB任务调度平台
  15. 超级详细的IDC搭建教程
  16. 虚拟路由器冗余协议——VRRP
  17. 累了、倦了、撑不下去了,静下心来看一看
  18. ROS从入门到精通0-2:Win10+Ubuntu双系统安装、配置、卸载保姆级图文教程
  19. Mac raw数码照片处理SILKYPIX Pro9安装和激活教程
  20. 以“有用”为圆心:重新认识智慧城市的“高手之路”

热门文章

  1. Substance Painter问题
  2. VS中警告等级的含义
  3. simulation(模拟器) 与 emulation(仿真器)的区别
  4. 20190726--茎叶图,stem-and-leaf display
  5. 用nethogs监控上网流量
  6. web waf_如何使用WAF和CDN保护您的云Web应用程序选择哪个供应商
  7. 【自建NAS】基础环境搭建,几行命令建成私有云盘,无复杂配置
  8. python小课网站_攻陷朋友圈的8.9元Python小课,有哪些新套路?
  9. MATLAB代码:基于Stackelberg博弈的光伏用户群优化定价模型
  10. 关于算法应用安全领域一些思考