先輸入乙個n,代表有n個同學,再依次輸入輸入n個同學的名字,出生年份,出生月份,出生日期,按照年齡大小從大到小進行排序,然後輸出對應的名字。
如果年月日都相同,則後輸入的先輸出。
這道題目是乙個極其簡單的結構體的題目,所要使用的知識總共3點
1.正確定義結構體,我們要先定義乙個結構體將乙個的所有資料進行關聯。
2.正確使用sort排序,sort排序的使用方法首先要使用c++進行提交和檔案的名稱字尾改為cpp,然後加上標頭檔案和using namespace std;,之後sort(a,a+n,cmp);
這個語句表達的意思就是將陣列a從a到a【n-1】按照所定義的函式進行排序,如果不加後面的cmp就預設為從小到大排序。
3.定義結構體的排序(我之前一直不會 )首先我們定義乙個bool 的函式,函式名字自己隨意取,設定的兩個變數的型別則為結構體的名稱(結構體在一定意義上就是一種資料型別)然後如果要將某乙個資料從小到大排序,就 return a.yb.y;,如果要題目要求相同時以其他條件為排序標準,則通過乙個if來實現,if(a.y==b.y),之後的實現就同上,這就是定義乙個結構體排序的函式。
注:通過sort排序來實現結構體的排序好處在於結構體中的每個變數的對應關係都沒有發生改變,如果使用氣泡排序,會改變結構體中的每個變數之間的一一對應關係,從而影響資料的關聯性。
#include
#include
#include
#include
#include
//應用c++中的sort排序的標頭檔案
using
namespace std;
//c++內容
struct people
a[1000];
//定義乙個結構體的陣列
bool
cmp(people a,people b)
//定義乙個函式將其進行排序(結構體的名稱就可以看作一種資料型別,他可以用來修飾變數的資料型別,所以要將字串排序時可以直接用結構體的名字來定義變數)
else
return a.m>b.m;
//將出生月份按從大到小排序
}else
return a.y>b.y;
//將出生年份按從大到小排序
}int
main()
sort
(a,a+n,cmp)
;//對其進行排序,滿足之前定義的函式進行排序
for(i=n-
1; i>=
0; i--
)return0;
}
攝像頭小調查
最近在做監控類的專案,需要選擇合適的攝像頭,所以進行了乙個簡單調查,主要考慮的因素有 通訊方式 體積 解析度。下面進行總結。就通訊方式來說,有兩種 無線和有線。無線網路攝像頭 現在的無線網路攝像頭一般是家庭版的,體積小,便宜,而且一般帶有語音功能,提供二次開發包,比較簡單。清晰度一般最大640 48...
版本控制系統小調查
到目前為止已經接觸了四,五種版本控制系統了,但是個人覺得還是比較喜歡用cvs.儘管cvs有不少的缺陷的,儘管cvs的原作者已經有了新的替代版本syn,但是我覺得到現在為止cvs的使用者群依然不小.尤其是open source的專案.花了點時間,比較了一下各個版本控制系統的優點和缺點 1.vss vi...
小調查 管理資訊系統怎麼做才好
請允許,我將些訊息放在首頁,因為只有這樣才能凝聚更多的想法 好說說背景 大概五個月前,我到了一家新的公司,開始接手新的專案 司法行政管理系統。但到了現在要上線的時期 一 客戶忽然說要增加很多內容,什麼公告啊,隊伍資料啊,黨員資料啊,公醫資料啊 亂七八糟的,總之一大堆東西有oa功能的,也有日常他們根本...