CONTEST ID : 1134 - 2023春-计导课设-转专业-文件练习

文件操作练习。注意B题的读取不能用struct。
D和谐词汇的题,输入是若干字符串,不以空行结束. 所以 gets(line);    while (line[0]){... gets(line);}就会导致时间超限,代码在等空行,但in数据没有。应改为while(gets(line))。
/*文件练习B题. 读取一个包含7类数据的二进制文件,找到指定部分内容,并正确解释输出。
思路分析:主体框架是读取二进制文件,   while (fread(buffer, buffLen, 1, infile) > 0){...}
因为二进制文件的记录长度是固定的,所以可以计算每条记录的长度,使用fseek直接定位到指定段;
所以用fseek的话,实际只需要读一次就可以。
但是这道题的特殊之处在于,一条记录内是顺序包含7种类型数据,是分多次写入,因此带来的麻烦是
虽然每段内容结构相同,但不能用struct进行整块读取。
因为struct的成员之间有内存空隙;除非源文件本身是用struct格式写入才行。
经测试,struct {含7种变量和数组}的长度为200, 但实际7种变量和数组的总长要小一些.
因此,可以直接定位,但必须分别读取,写出的代码冗长,且容易在变量名和输出格式上出错。
一种办法是:按总长度整块读取到字节数组中,然后再逐个定义对应类型的指针,按间接访问就可格式化解释输出。
例: char buffer[LEN];
int i=0; printf("%c\n", buffer[i]); i++;
short * hdPtr=&buffer[i];  printf("%hd\n", *hdPtr); i+=sizeof(short);
*/


SERVER TIME : 2025-09-19 09:29:57
Finished

STATUS : End    OPEN : Private
Start Time : 2023-03-24 12:00:00
End Time : 2023-05-04 23:59:00


Download

Standing User Nick Name Solved TIME PENALTY Mark ABCD
12022211928叶家聪4126:32:3040028:31:5129:21:0232:50:5533:28:42
22022212497xx4238:09:5340031:15:1145:54:5299:55:4960:44:01
32021211233李志博4259:46:0040048:36:0054:13:5471:16:3071:59:36
42022211698李佳伊4265:03:4140049:26:1750:54:0780:51:5482:51:23
52022211480马耳东风4442:02:35400104:13:01106:28:07107:52:30109:28:57
62022212615luckyBUPT4513:23:50400106:20:51123:11:59129:15:24151:15:36
72022210792『 』4520:32:4240058:04:43152:33:47153:09:57154:04:15
82022210145Jeff4604:17:48400127:45:50128:46:41143:57:40202:47:37
92022210130世间万物4634:11:39400146:59:36147:33:34167:02:01166:56:28
102022211668字禹润4709:55:09400105:17:46105:53:32222:38:34273:05:17
112022211656包诗峰4739:51:53400171:43:38197:48:25171:26:52197:32:58
12202221203620222120364767:13:28400130:13:17227:10:29225:21:26171:08:16
132022212139zzz4820:41:40400175:05:04194:53:02220:40:00228:23:34
142022210484空条承太郎4844:45:20400149:30:38214:09:22219:42:27250:02:53
152022210576idle4938:12:08400203:03:44292:08:12219:24:43217:15:29
162022212511蔡逸文4967:50:31400460:11:59103:36:27195:02:44201:59:21
172022210470周宇洋4998:32:32400249:35:24249:37:59249:38:57249:40:12
182022212702宋健41077:37:34400106:36:39107:50:59419:27:34435:42:22
192022210583cc41084:02:41400239:26:30240:09:10275:19:58325:07:03
202022210466阿三太帅呀41262:13:49400315:23:47315:25:24315:40:04315:44:34
212022213782indication41299:50:23400250:06:00294:05:22458:05:25292:53:36
222022212499202221249941433:54:21400247:36:25465:05:15324:51:02394:21:39
232022212503Jjjjj41463:01:37400349:33:13350:33:53367:05:40391:48:51
242022212111码码哈哈41638:32:04400386:52:21414:22:10366:41:10460:16:23
252022212666李宇星41878:08:28400460:35:23462:05:34468:16:21482:11:10
262019211315hsc41928:56:56400458:28:32489:33:48489:50:16490:44:20
2720222126252022212262541964:27:20400391:35:23392:47:41583:50:40587:13:36
282022212010蔡正舟42017:28:3240027:19:07990:16:35969:36:4128:36:09
292022212857zealot42041:25:33400555:33:54489:41:34490:57:05502:33:00
302022212367wxt42053:28:45400487:15:36489:04:26513:09:14562:19:29
312022212744aggylow42175:16:41400334:58:57339:59:23508:05:05987:33:16
322022212247马梓洋43323:56:37400488:26:08893:48:53971:27:38957:33:58
332022210177牛梓帆43575:46:02400815:36:51816:29:39947:14:10993:45:22
342022211644apple43662:34:41400898:20:33910:04:42923:09:17925:00:09
352022212458谭超43760:38:00400961:41:03819:39:26985:10:35985:46:56
362022212414greed10643848:39:03400962:06:30962:07:35962:11:08962:13:50
372019211417咸鱼43859:12:41400940:16:38940:22:23988:23:41988:29:59
382019211405201921140543870:35:44400966:20:12967:48:25967:53:11967:53:56
392022212379visir43881:56:56400943:05:47973:36:12973:03:08974:31:49
402022212442范兼玮43956:11:31400970:19:18990:09:28988:11:06993:51:39
412022211637爱做梦的露西亚43965:47:05400987:15:07990:58:32992:15:17993:58:09
422021211124zzz43966:28:36400991:13:02991:38:02991:44:47991:52:45
432021211127xinxin43972:57:08400992:43:09992:56:21993:06:20993:11:18
442017211617赵鹏飞43977:00:53400994:08:47994:16:38994:17:25994:18:03
452022212922sherry32580:57:16300587:00:55995:19:30995:36:51(+0)
462022212434Healthy21991:59:44200995:54:27(+0)995:05:17
472021211214黃洪力11003:29:13100995:49:13