簡單題 泥塑課

2021-08-07 01:39:26 字數 1787 閱讀 2111

題面:

小公尺是乙個幼兒園老師,每學期的泥塑課上,她都會給每個學生發不超過 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立方厘公尺的等量橡皮泥,教大家做泥塑。在上課過程中,她發現每個班都恰好有乙個小朋友會去搶另乙個小朋友的橡皮泥,於是她決定,在正式開始做泥塑前,讓大家把手裡的橡皮泥都捏成乙個立方...