題面:
小公尺是乙個幼兒園老師,每學期的泥塑課上,她都會給每個學生發不超過 250250 立方厘公尺的等量橡皮泥,教大家做泥塑。在上課過程中,她發現每個班都恰好有乙個小朋友會去搶另乙個小朋友的橡皮泥,於是她決定,在正式開始做泥塑前,讓大家把手裡的橡皮泥都捏成乙個立方體,並且測量手裡捏好的橡皮泥的長、寬和高。這樣,她就可以知道誰被誰搶了橡皮泥了。
輸入格式
小公尺老師在不同的學期可能會帶乙個班或者同時帶多個班,因此輸入資料可能有一組或者多組。
每組輸入資料的第一行為乙個整數 n,表示了這個班的小朋友數,之後 n 行每行包括了由空格分隔的三個整數和乙個字串,那個字串表示了小朋友的名字,前面三個整數則是這個學生手裡橡皮泥塊的長、寬、高資料。按照幼兒園的規定,每個班最多有 9 個小朋友,最少也要有 2 個小朋友,每個小朋友在學籍系統中的名稱不超過 8 個字元長。當出現乙個班級的小朋友數為 -1 時,表示沒有更多的班級了。
輸出格式
輸出行數與小公尺老師帶的班級數相同,形式為x took clay from y.,具體請參考樣例輸出。
樣例輸入
310 10 2 jill
5 3 10 will
5 5 10 bill
42 4 10 cam
4 3 7 sam
8 11 1 graham
6 2 7 pam
-1樣例輸出
bill took clay from will.
graham took clay from cam.
**:
#include#includeusing namespace std;
int main()
; int stu_num[80];
int pos = 0;
student inf[80];
cin >> stu_num[0];
int k = 0; //輸入完成後就是總的班級數
for (; stu_num[k] != -1; k++)
cin >> stu_num[k + 1];
} int max, min;
char* max_stu_name, *min_stu_name;
pos = 0;
for (int i = 0; stu_num[i] != -1; i++)
else if (inf[pos]._long*inf[pos].wide*inf[pos].hight < min)
else pos++; //卡在了這裡,在既不大於也不小於的情況下不作操作,但標記指標要後移
}} if (!strcmp(max_stu_name, min_stu_name));
else
}} return 0;
}
測試通過,但是這個**比較臃腫。資料結構類似於靜態鍊錶。
為更簡潔且可讀性更強應作以下更改:
1.struct結構體中應新增一int型別變數,標記體積。
2.如果想按照班級分開,可以將鍊錶與順序表結合起來,這樣班級號就作為索引,乙個班級號指向乙個struct結構體陣列的首位址。
如果就實用性來考慮,此**對於輸入要求嚴格 不允許非規定格式輸入,例如輸入姓名前按下回車等,因此要成為乙個使用靈活度高的程式還需要修改。
另外**中用了一些比較危險的操作,比如作了指標算數。當然,這是為了捨去cin.getline得到的第乙個空格。
第6題 泥塑課
小公尺是乙個幼兒園老師,每學期的泥塑課上,她都會給每個學生發不超過250立方厘公尺的等量橡皮泥,教大家做泥塑。在上課過程中,她發現每個班都恰好有乙個小朋友會去搶另乙個小朋友的橡皮泥,於是她決定,在正式開始做泥塑前,讓大家把手裡的橡皮泥都捏成乙個立方體,並且測量手裡捏好的橡皮泥的長 寬和高。這樣,她就...
第6題 泥塑課
小公尺是乙個幼兒園老師,每學期的泥塑課上,她都會給每個學生發不超過250立方厘公尺的等量橡皮泥,教大家做泥塑。在上課過程中,她發現每個班都恰好有乙個小朋友會去搶另乙個小朋友的橡皮泥,於是她決定,在正式開始做泥塑前,讓大家把手裡的橡皮泥都捏成乙個立方體,並且測量手裡捏好的橡皮泥的長 寬和高。這樣,她就...
程式設計題目 泥塑課
雖然不是難題,但是我這個菜鳥還是寫了三個小時。題目 小公尺是乙個幼兒園老師,每學期的泥塑課上,她都會給每個學生發不超過250立方厘公尺的等量橡皮泥,教大家做泥塑。在上課過程中,她發現每個班都恰好有乙個小朋友會去搶另乙個小朋友的橡皮泥,於是她決定,在正式開始做泥塑前,讓大家把手裡的橡皮泥都捏成乙個立方...