問題 c: c語言11.4
時間限制: 1 sec 記憶體限制: 32 mb
設有若干個人員的資料,其中包含學生和教師。學生的資料中包括:號碼、姓名、性別、職業、班級。教師的資料報括:號碼、姓名、性別、職業、職務。可以看出,學生和教師所包含的資料是不同的。現在要求把這些資料放在同乙個**中儲存,使用結構體中的共用體實現。結構體定義如下:
struct category;
};在以上的結構體中,如果job項為s(學生),則第5項為class(班級);如果job項是t(教師),則第5項為position(職務)。
輸入幾個人員的資料,將其儲存在以上包含共用體的結構體陣列中,並輸出。
第一行有乙個整數n,表示以下n行分別表示n個人員的資料。保證n不超過100。
之後的n行,每行有5項用空格隔開的內容。前4項分別為人員的號碼(整數)、姓名(長度不超過9的無空格字串)、性別(字元,m或f)和職業(字元,s或t)。如果第4項是s,則第5項為乙個整數,表示班級;如果第4項是t,則第5項為乙個長度不超過9的無空格字串,表示職務。
共有n行,與輸入格式相同,輸出讀入的所有內容。
請注意行尾輸出換行。
樣例輸入
2101 li f s 501
102 wang m t prof
樣例輸出
101 li f s 501
102 wang m t prof
共同體:使幾個不同型別的變數共佔一段記憶體(相互覆蓋)。所佔記憶體長度是各最長的成員佔的記憶體長度。
#include #include #include struct stuteacategory;
}st[100];
int main()
{ int i=0;
int cnt=0;
scanf("%d",&cnt);
for(i=0;i改了半天發現結果一直出現錯誤,結果是輸出的時候多了乙個&
對結構體和共同體不夠理解可以參考以下鏈結
c++結構體與聯合體的區別
codeup結構體 共用體
題目描述 設有若干個人員的資料,其中包含學生和教師。學生的資料中包括 號碼 姓名 性別 職業 班級。教師的資料報括 號碼 姓名 性別 職業 職務。可以看出,學生和教師所包含的資料是不同的。現在要求把這些資料放在同乙個 中儲存,使用結構體中的共用體實現。結構體定義如下 struct category ...
codeup 題目解答(結構體的使用)
contest100000572 演算法筆記 2.8小節 c c 快速入門 結構體 struct 的使用 問題b 11.2 題目描述 定義乙個結構體student,儲存學生的學號 名字 性別和年齡,讀入每個學生的所有資訊,儲存在結構體中,並輸出。結構體student的定義如下 struct stud...
C語言結構體問題
c語言結構體對齊也是老生常談的話題了。基本上是面試題的必考題。內容雖然很基礎,但一不小心就會弄錯。寫出乙個struct,然後sizeof,你會不會經常對結果感到奇怪?sizeof的結果往往都比你宣告的變數總長度要大,這是怎麼回事呢?有人給對齊原則做過總結,具體在 看到現在已記不起來,這裡引用一下前人...