输出结果不知道为什么是那样的?

问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
我想要达到的结果

img

img


```c
#include
#include
int main()
{ char a[100];
  char b[500];char max;char c[5]={"max"};
  int i,j,lena;
  while(scanf("%s",a)!=EOF)
  { lena=strlen(a);
     max=a[0];
    for(i=0;iif(a[i]>=max)
       { max=a[i];
       }
     }
     for(i=0,j=0;iif(a[i]==max)
         { strcat(b,c);
           j+=5;
         }  
     }
     puts(b);
      
  }
    return 0;
}

```

供参考:

#include <stdio.h>
#include <string.h>
int main()
{
    int k ,i;
    char s[128] = { 0 };
    while (scanf(" %[^\n]", s) != EOF)
    {
        scanf("%d", &k);
        k %= 26;
        i = 0;
        while (s[i])
        {
            if (s[i] >= 'A' && s[i] <= 'Z')
                s[i] = (s[i] - 'A' + k) % 26 + 'A';
            else if (s[i] >= 'a' && s[i] <= 'z')
                s[i] = (s[i] - 'a' + k) % 26 + 'a';
            i++;
        }
        printf("%s", s);//输出加密后的字符串
    }
    return 0;
}