PTA(Basic Level) 1055:集体照(C语言实现)
分析:
①最后一排的人数可能和前面排人数不一样,单独输出;
②先右后左交替入队,假设中间人的位置为m,其他人的位置:-1,+2,-3,+4…(是在当前位置进行加减,而不是m的位置上加减);
③刚开始提交出现段错误,原因是,最多10^4个人,最多10排,就以为每排最多站1000个人,数组b的大小就设为1000,但是如果k=1的话,每排最多可以站10 ^4个人,所以数组b的大小为10 ^4。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct person
{
char name[9];
int height;
};
int cmp(const void *a, const void *b)
{
struct person *p,*q;
p=(struct person *)a;
q=(struct person *)b;
if(p