1028 人口普查 (20 分)

PAT-B1028 人口普查 C&&JAVA 1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。 输入格式: 输入在第一行给出正整数 N,取值在(0,10​5​​]... 阅读详情

某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。

这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。

输入格式:

输入在第一行给出正整数 N,取值在(0,105];随后 N 行,每行给出 1 个人的姓名(由不超过 5 个英文字母组成的字符串)、以及按 yyyy/mm/dd(即年/月/日)格式给出的生日。题目保证最年长和最年轻的人没有并列。

输出格式:

在一行中顺序输出有效生日的个数、最年长人和最年轻人的姓名,其间以空格分隔。

输入样例:

5
John 2001/05/12
Tom 1814/09/06
Ann 2121/01/30
James 1814/09/05
Steve 1967/11/20

结尾无空行

输出样例:

3 Tom John

结尾无空行

解题思路:
在有了结构体的思想之后,应该对结构体的运用更加的多,在题目中给出人名和出生日期有强相关,所以使用结构体,然后对结构体进行输入就行,这里使用string来存储字符串,因为string字符串可以直接进行比较,这也是我第一次用,然后对输入的数据进行筛选就行了,在筛选的同时进行最大的日期下标和最小日期下标的寻找,然后输出就可以了,但是要注意,在没有合格数据时要特殊处理,我也卡在了这个点,所以说一下,当没有合格的时,只输出0就好,注意注意考虑特殊情况!!!!

加油加油!!!!

//输入合法但不一定合理,超过200岁的老人和未出生的小孩过滤掉
//姓名不超过5个英文字母,出生日期的格式是yyyy/mm/dd,题目保证没有并列
//细节点今天是2014年9月6日
#include<iostream>
#include<string>
using namespace std;

struct define{
    string name;
    string birthday;
};
int main()
{
    int number = 0;
    cin >> number ;//先将要输入的数据数进行统计
    define arr[100000];
    for(int i = 0; i < number;++i)
    {
        cin >> arr[i].name;
        cin >> arr[i].birthday;
    }//到这里将基本的数据输入完毕
    int effetic = 0;//用来统计有效的人,比较字符串的大小怎么样
    string high = "2014/09/06";//可使用的最大年龄
    string low = "1814/09/06";//可使用的最小年龄
    string middle = "1814/09/06";
    string mide = "2014/09/06";
    int min = 0,max = 0;
    for(int i =0 ; i < number ;i++ )
    {
        if(arr[i].birthday<=high&&arr[i].birthday>=low)
        {
            effetic++;//找到有效的年龄,现在找最大和最小的俩个人
            if(arr[i].birthday<mide)
            {
                mide = arr[i].birthday;
                min = i;
            }
            if(arr[i].birthday>middle)
            {
                middle = arr[i].birthday;
                max = i;
            }
        }
    }
    cout << effetic;
    if(effetic!=0)cout<<" "<< arr[min].name <<" "<< arr[max].name<<endl;//这里有一个需要考虑的点,就是当你的输入都是无效的时,由于string字符串没有初始化,所以很难说内容是什么
    return 0;
}

OpenSceneGraph编译、安装、开发环境 详细描述WIndows 10下使用Visual Studio 2019编译OpenSceneGraph 3.6.5的操作流程 阅读详情

相关推荐

Unity插件UniWebView实战:UGUI动态调整内嵌网页尺寸与交互优化

本文详细解析了如何在Unity游戏中使用UniWebView插件实现内嵌网页的动态尺寸适配与深度交互。核心在于利用Reference Rect Transform属性,将网页窗口精准绑定至UGUI控件,并随其动态调整。文章进一步探讨了通过消息系统与JavaScript执行实现Unity与网页的双向通信,并提供了加载优化、过渡动画及事件拦截等实用技巧,助力开发者打造无缝、流畅的游戏内网页体验。

earth的博客 276

1028 人口普查

PAT (Basic Level) Practice (中文) 1028 人口普查

weixin_45256307的博客 201

脑电分析:为什么大脑信号会“变同步”?——事件相关同步化与去同步化 (ERS/ERD) 全景解析

脑电分析中的事件相关同步化(ERS)和去同步化(ERD)是研究大脑动态节律的重要方法,反映特定任务下脑电频段能量的变化。ERD表示神经元活动分散(功率下降),提示脑区活跃处理信息;ERS则反映神经元同步(功率增强),常与静息状态相关。本文详解了ERS/ERD的生理机制、计算流程(包括基线校正和功率谱分析),并提供了Python实现示例,展示如何通过Welch法和STFT进行时频分析,生成ERD/ERS热力图。该技术广泛应用于运动想象脑机接口、癫痫检测等领域,为理解大脑功能状态提供了量化工具。

qq_32516809的博客 1394

PTA之1028 人口普查(含测试点三详解&&两种解决方法)

某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。

2201_76112408的博客 848

【实战指南】OpenClaw 使用 Bird Skill 接入 X(Twitter)的终极省心方案:告别每次都要手动喂 Cookie 的痛苦

OpenClaw 使用 Bird Skill 接入 X(Twitter)的终极省心方案:告别每次都要手动喂 Cookie 的痛苦

hampeter的博客 1800

如何用Arduino和HX711压力传感器制作一个简易电子秤(含OLED显示)

本文详细介绍了如何使用Arduino、HX711压力传感器和OLED显示屏制作一个简易电子秤。从硬件连接到软件编程,提供了分步教程,包括核心元件功能解析、接线方法、库安装、模块测试以及关键的校准流程。项目实践性强,适合创客和DIY爱好者学习嵌入式系统与传感器应用。

tea88的博客 536

1028 人口普查(JAVA)

1028 人口普查(JAVA)

小羊不会飞的博客 468

保姆级教程:用BIGEMAP和Global Mapper搞定5米精度DEM高程数据下载与处理

本文提供了一份详细的5米精度DEM高程数据处理教程,涵盖从BIGEMAP下载到Global Mapper处理的完整流程。通过实战案例和避坑指南,帮助用户掌握高效下载DEM数据、优化等高线生成及坐标系转换的关键技巧,适用于GIS新手和专业人士。

weixin_34169322的博客 390

B1028 人口普查 20分

B1028 人口普查 20分 题目描述: 思路: ①看到连接体信息,马上想到使用结构体,存储名字,出生年月日。 ②由于需要判断合法日期,需要比较年、月、日,比较的方法一致,为了方便,直接写成函数的形式,当需要比较的时候就调用函数。 代码描述: #include<cstdio> struct node{ char name[10]; int year,month,day; }temp,y,l,left,right; int cot; bool cmpl(node a,node b) { i

qq_45735298的博客 294

五子棋ai:极大极小搜索和α-β剪枝算法的思想和实现(qt和c++)(一)引言和界面设计

引言 alphaGo击败围棋冠军李世石的新闻让我对棋类博弈产生了浓厚的兴趣,无奈本人不会围棋,但算是一个五子棋业余爱好者,于是乎希望通过实现一个五子棋ai来了解相关算法和知识。 五子棋在英文中又称Gobang,five-in-row,还有两个称呼:gomoku和renju(连珠)。我来简要介绍一下区别。由于五子棋已经被机器严格证明了是一种**“不公平”的游戏,先手黑子是绝对占优的,并且先手有必胜*...

livingsu的博客 1万+

uniapp [全端兼容] - 最新详细实现拍摄视频录像并可播放预览视频,调起本机摄像头开启录像录制完毕后保存到本机临时存放,可对拍摄的视频进行压缩处理减少文件大小不损失画质,详解录制视频并读取播放!

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,录视频,拍视频,拍摄录制视频后上传服务器,调起摄像头录视频并可预览,录视频上传,录像,uniapp录制视频并上传,录制视频并保存到本地设备,如何本地保存并播放预览,提供给用户观看MP4视频录像并上传到后端服务器完整功能源码,视频压缩,mp4文件,删除视频,录像后怎么预览,临时视频文件怎么减少压缩大小,视频压缩及上传,自己录视频并生成可播放的文件,录视频并能打开查看,视频压缩后上传,本机相册,录完怎么预

🏆 前端领域优质创作者 1万+

1028 人口普查 (20分)

某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。 输入格式: 输入在第一行给出正整数N,取值在(0,10​5​​];随后N行,每行给出 1 个人的...

一定要站在自己热爱的生活里闪闪发光 3万+

WPF+MVVM案例实战(一)- 设备状态LED灯变化实现

采用WPF+MVVM框架实现,MVVM框架使用CommunityToolkit.Mvvm 依赖包,代码案例部署了三个LED灯,按照红黄绿三色后台自动刷新状态进行变化,根据后台数据不同,UI层显示不同颜色。

lingshuangcanxue 1381

1028 人口普查 (20 分)

题目链接:1028 人口普查 (20 分) 这道题目刚开始用了cin处理字符串,果然有一个测试点运行超时。 后来改为是scanf,这个测试点通过。 另外思维要缜密。 有一个测试点为段错误。仔细检查以后发现ans.size()-1数组溢出,因为ans.size()可能为0。加个判断之后即可。 1 #include <bits/stdc++.h> 2 u...

162

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

PAT 乙级 1028 人口普查 (20分)

PAT 乙级 1028 人口普查 (20分) 原题链接 测试点3段错误检查了好久,要考虑输入都不合法的情况 #include<stdio.h> struct node { char name[10]; int yy, mon, day; int he; }shuruname[100010]; int main() { int n, min, max, minhe = 20140906, maxhe = 18140906, count = 0; scanf("%d", &n);

a123456chj的博客 218

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

【PAT】1028 人口普查 (20 分)

1028 人口普查 (20 分) 某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。 输入格式: 输入在第一行给出正整数 N,取值在(0,10​5​​]...

zzz 1788

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

B1028 人口普查 (20分)

1028 人口普查 (20分) 某城镇进行人口普查,得到了全体居民的生日。现请你写个程序,找出镇上最年长和最年轻的人。 这里确保每个输入的日期都是合法的,但不一定是合理的——假设已知镇上没有超过 200 岁的老人,而今天是 2014 年 9 月 6 日,所以超过 200 岁的生日和未出生的生日都是不合理的,应该被过滤掉。 输入格式: 输入在第一行给出正整数 N,取值在(0,10​5 ];随后 N ...

wvdon 321
上一篇: 1036 跟奥巴马一起编程 (15 分)
下一篇: 1038 统计同成绩学生 (20 分)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值