ACM中遇到的有个问题 不是很理解 一个getchar()解决的问题 为什么加上getchar()就AC了 没有就报错
如题 代码如下所示
题目要解决的问题就是从输入的数组中 找到相同项最多的 并输出该项
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct color{
char c[20];
};
int main()
{
int N,max,mark,i,j,temp;
struct color a[1000];
while(~scanf("%d",&N) && N){
max = 0;
//**************
getchar();
//***************************
for(i = 0;i < N;i++){
scanf("%s",a[i].c);
}
// 输入数组
for(i = 0;i < N;i++){
temp = 0;
for(j = 0;j < N;j++){
if(strcmp(a[i].c,a[j].c) == 0){
temp++;
}
if( temp > max ){
mark = i;
max = temp;
}
}
}
printf("%s\n",a[mark].c);
}
return 0;
}