最近看《征服c指针》感觉被虐了,到后面几章完全看不懂了,我也觉得最近光在看书,基本没写代码,这样下去是不行的。于是我决定把《征服c指针》丢一段时间,先多写写代码练练手。于是我就到计蒜课的难题题库找虐去了。
好吧,题目要求是这样的:
小米是一个幼儿园老师,每学期的泥塑课上,她都会给每个学生发不超过250立方厘米的等量橡皮泥,教大家做泥塑。在上课过程中,她发现每个班都恰好有一个小朋友会去抢另一个小朋友的橡皮泥,于是她决定,在正式开始做泥塑前,让大家把手里的橡皮泥都捏成一个立方体,并且测量手里捏好的橡皮泥的长、宽和高。这样,她就可以知道谁被谁抢了橡皮泥了。
小米老师在不同的学期可能会带一个班或者同时带多个班,因此输入数据可能有一组或者多组。每组输入数据的第一行为一个整数n,表示了这个班的小朋友数,之后n行每行包括了由空格分隔的三个整数和一个字符串,那个字符串表示了小朋友的名字,前面三个整数则是这个学生手里橡皮泥块的长、宽、高数据。按照幼儿园的规定,每个班最多有9个小朋友,最少也要有2个小朋友,每个小朋友在学籍系统中的名称不超过8个字符长。当出现一个班级的小朋友数为-1时,表示没有更多的班级了。
输出行数与小米老师带的班级数相同,形式为“X took clay from Y.”,具体请参考样例输出。
样例1
输入:
1 | 3 |
1 | Bill took clay from Will. |
这道题逻辑很简单,有两个难点,一个是输入,一个是对结构体的掌握(好吧,我承认看了这么久的《c指针》我还是不会用指向二维数组的指针,或者说不敢用。。。。。)
代码如下:
1 | #include<stdio.h> |
说起写的过程我就气,不知道编译器出了什么问题,尼玛运行个printf都要程序出错。是时候重装一遍codeblocks了。弄得我调试的时候还以为遇到鬼了。
反思:1.第一次实战realloc函数
2.要移动指针时,最好再声明一个指针来保存首地址,到时候输出的时候好返回。
3.结构体中的结构体指针要引用其中的成员应该用->,而结构体中的结构体,要引用其中的成员应该用”.”。
4.在找最值时,最值得下标找出来后还应该更新最值。