hdu 1004

hdu 1004
开始时这道题目想了挺久的,也走了一点弯路,其实主要是C 语言的二维字符数组没理解好,都是一些基础知识没有掌握,注意打红色的部分就好了
 1 #include  < stdio.h >
 2 #include  < stdlib.h >
 3 #include  < string .h >
 4 char  code[ 1001 ][ 17 ];
 5 int  num[ 1001 ];
 6 int  main ()
 7 {
 8  int n;
 9  while (scanf ("%d"&n) != EOF && n != 0)
10  {
11   getchar ();
12   memset (code, 0sizeof (code));
13   memset (num, 0 , sizeof (num));
14  
15   for (int i = 0; i < n; i ++)    //输入处理 
16   
17    int j = 0;    
18    while ( (code[i][j] = getchar ()) !=  '\n' )     i 代表这是第几个串
19    j ++;
20   }

21  
22  
23   for (int m = 0; m < n; m  ++)     //匹配
24   {
25    for (int k = m + 1; k < n; k ++)
26    {
27     if ( !strcmp (code[m], code[k]) )  //相等返回 0  
28      num[m]++;
29    } 
30   }

31   
32   int max = -1;   int index = 0;
33   for ( int k = 0; k < n; k ++)  //找到出现次数最多的下标 
34   
35       if (max < num[k])
36       {
37         max = num[k];
38         index = k;
39       }
           
40   }

41   printf ("%s"code[index]);
42 }

43 //system ("pause"); 
44 return 0;
45}

46

你可能感兴趣的:(hdu 1004)