PAT (Basic Level) Practice 1028 人口普查(20)(C語言實現)
某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程式,找出鎮上最年長和最年輕的人。
這裡確保每個輸入的日期都是合法的,但不一定是合理的——假設已知鎮上沒有超過200歲的老人,而今天是2014年9月6日,所以超過200歲的生日和未出生的生日都是不合理的,應該被過濾掉。
輸入格式:
輸入在第一行給出正整數N,取值在(0, 10^5^];隨後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
作者: CHEN, Yue
單位: PAT聯盟
時間限制: 200ms
記憶體限制: 64MB
程式碼長度限制: 16KB
#include<stdio.h> struct rec{ char name[6]; int date; }; int main() { int N, cnt=0; struct rec old, young, temp; scanf("%d", &N); for(int i=0;i<N;i++){ int ytem, mtem, dtem; scanf("%s %d/%d/%d", temp.name, &ytem, &mtem, &dtem); temp.date = ytem*10000 + mtem*100 + dtem; if(temp.date<=20140906&&temp.date>=18140906){ cnt++; if(cnt==1) old = young = temp; else if(temp.date<old.date) old = temp; else if(temp.date>young.date) young = temp; } } if(cnt) printf("%d %s %s", cnt, old.name, young.name); else printf("0"); //cnt為0的情況不能丟 return 0; }
相關推薦
PAT (Basic Level) Practice 1028 人口普查(20)(C語言實現)
某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程式,找出鎮上最年長和最年輕的人。 這裡確保每個輸入的日期都是合法的,但不一定是合理的——假設已知鎮上沒有超過200歲的老人,而今天是2014年9月6日,所以超過200歲的生日和未出生的生日都是不合理的,應該被過濾掉。
PAT Basic 1054. 求平均值 (20)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目本題的基本要求非常簡單:給定N個實數,計算它們的平均值。但複雜的是有些輸入資料
PAT Basic 1052. 賣個萌 (20)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目萌萌噠表情符號通常由“手”、“眼”、“口”三個主要部分組成。簡單起見,我們假設
PAT Basic 1007. 素數對猜想 (20) (C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目讓我們定義 d_n 為:d_n = p_{n+1} - p_n,其中 p_i
PAT Basic 1033. 舊鍵盤打字(20)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目舊鍵盤上壞了幾個鍵,於是在敲一段文字的時候,對應的字元就不會出現。現在給出應該
PAT Basic 1017. A除以B (20)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目本題要求計算A/B,其中A是不超過1000位的正整數,B是1位正整數。你需要輸
PAT Basic 1053. 住房空置率 (20)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目在不打擾居民的前提下,統計住房空置率的一種方法是根據每戶用電量的連續變化規律進
PAT Basic 1008. 陣列元素迴圈右移問題 (20)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目一個數組A中存有N(N>0)個整數,在不允許使用另外陣列的前提下,將每個
PAT (Basic Level) Practice 1027 列印沙漏(20)
此題連結:https://pintia.cn/problem-sets/994805260223102976/problems/994805294251491328 1027 列印沙漏(20)(20 point(s)) 本題要求你寫個程式把給定的符號列印成沙漏的形狀。例如給定17個“*”
PAT 1028 人口普查(20)(STL-set+思路+測試點分析)
1028 人口普查(20)(20 分) 某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程式,找出鎮上最年長和最年輕的人。 這裡確保每個輸入的日期都是合法的,但不一定是合理的——假設已知鎮上沒有超過200歲的老人,而今天是2014年9月6日,所以超過200歲的生日和未
PAT (Basic Level) Practice 1071 小賭怡情(判斷條件的優化——異或)
問題描述: 常言道“小賭怡情”。這是一個很簡單的小遊戲:首先由計算機給出第一個整數;然後玩家下注賭第二個整數將會比第一個數大還是小;玩家下注 t 個籌碼後,計算機給出第二個數。若玩家猜對了,則系統獎勵玩家 t 個籌碼;否則扣除玩家 t 個籌碼。 注意:玩家下注的籌碼數不能
1028 人口普查(20)(20 分)提問
某城鎮進行人口普查,得到了全體居民的生日。現請你寫個程式,找出鎮上最年長和最年輕的人。 這裡確保每個輸入的日期都是合法的,但不一定是合理的——假設已知鎮上沒有超過200歲的老人,而今天是2014年9月6日,所以超過200歲的生日和未出生的生日都是不合理的,應該被過濾掉。
PAT Basic 1025. 反轉連結串列 (25)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目給定一個常數K以及一個單鏈表L,請編寫程式將L中每K個結點反轉。例如:給定L為
PAT Basic 1015. 德才論 (25)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目宋代史學家司馬光在《資治通鑑》中有一段著名的“德才論”:“是故才德全盡謂之聖人
PAT Basic 1020. 月餅 (25)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目月餅是中國人在中秋佳節時吃的一種傳統食品,不同地區有許多不同風味的月餅。現給定
PAT Basic 1005. 繼續(3n+1)猜想(C語言實現)
題目 卡拉茲(Callatz)猜想已經在1001中給出了描述。在這個題目裡,情況稍微有些複雜。 當我們驗證卡拉茲猜想的時候,為了避免重複計算,可以記錄下遞推過程中遇到的每一個數。例如對n=3進行驗證的時候,我們需要計算3、5、8、4、2、1,則當我們對n=5、8、4、2進
PAT Basic 1045. 快速排序(25)(C語言實現)
, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目著名的快速排序演算法裡有一個經典的劃分過程:我們通常採用某種方法取一個元素作為
pat乙級1084 外觀數列(c語言實現)
#include<stdio.h>#include<string.h>#define MAXN 100005char s[MAXN],t[MAXN];char *ps,*pt;main(){ char now;//µ±Ç°¼ÆÊýint num,
pat 乙級1082 射擊比賽(c語言實現)
#include<stdio.h>#include<stdlib.h>typedef struct d{int id;int grade;}man;int cmp(const void*a,const void*b){man s1=*(man*)a;m
(PAT乙級)1065 單身狗(C語言實現)
總結: 1、我最初的想法是一遍遍去遍歷,但其實自己心裡也清楚這樣迴圈層數多,容易執行超時,所以以下思路借鑑柳婼小姐姐。 思路:定義情侶陣列couple[ ]={-1},每個人對應的編號的陣列儲存自己情侶的編號。這樣有情侶的人對應的初值不再是-1,其他對應值仍是-1