题目说每种颜色最多15个字符,而你的程序中char name[15];显然你忽略了字符串最后一个结束符0,起码应该改为char name[16]; 另外还有一个问题, 你忘记初始化q了,你仅仅只是给q赋了一个全局的初值0,每个case开始的时候都应该初始化。 在while(N){的第一句写q=0;这样就可以了