非常简单的一道题,在GCC下调试。
方法比较笨,3次通过,记录一下。
直接上代码
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
typedef struct Node
{
int Num;
char myStr[15];
}NodeType;
int main(int argc, char *argv[]) {
int N = -1;
int i = -1;
int j = -1;
int iMaxIndex = -1;
int iMinNum = -9999;
while(scanf("%d",&N)!=EOF)
{
/*printf("%d\n",N);*/
if(N==0)break;
iMaxIndex = -1;
iMinNum = -9999;
NodeType Nodes[N];
memset(Nodes,0,sizeof(NodeType)*N);
for(i=0;i<N;i++)
{
scanf("%s",&Nodes[i].myStr);
for(j=0;j<i;j++)
{
if(strcmp(Nodes[i].myStr,Nodes[j].myStr)==0)
{
Nodes[i].Num++;
Nodes[j].Num++;
}
}
}
/*show array*/
/*for(i=0;i<N;i++)
{
printf("%s\n",Nodes[i].myStr);
}*/
for(i=0;i<N;i++)
{
if(Nodes[i].Num > iMinNum)
{
iMaxIndex = i;
iMinNum = Nodes[i].Num;
}
}
printf("%s\n",Nodes[iMaxIndex].myStr);
}
system("PAUSE");
return 0;
}