Lang:GCC
Edit12345678910111213141516171819202122232425262728293031#include<stdio.h>#include<memory.h>#define TWO_SIXTEEN 65536#define USHORT_SHIFT 16#define USHORT_MASK 65535#define DATA_SHIFT 5#define DATA_MASK 31#define MAX_STUDENT 30000typedef struct ID_SET{unsigned int value[938];}ID_SET;ID_SET rank[5][MAX_STUDENT];unsigned int score[5][MAX_STUDENT];unsigned int id[5][MAX_STUDENT];char table_bits16[TWO_SIXTEEN];char bit_count(unsigned int n){char c=0;while(n){c++;n&=(n-1);}return c;}void gen_table_bits16(){unsigned int i=0;while(i<(TWO_SIXTEEN)){table_bits16[i]=bit_count(i);i++;}}