7-6 查找字符串中ASCII编码最大的并删除 (10分)

动态创建不大于50字节的一维数组(大小由用户输入,范围为2 <= n <=50),并输入最大可能的字符串。编程实现删除字符串中ASCII码最大的字符,并输出删除后的字符串。请仔细看输入输出示例,示例中的“[空格]”表示在那个位置上输入“空格”。
输入格式:
用户输入一个整数,代表字符数组的容量。可以接收的有效字符数比这个数少1。例如用户输入50,表示数组容量为50,但只能存放49个有效字符。 输入整数后按回车键,在下一行输入一个字符串。字符串中可能含有空格,输入完毕按回车键。
输出格式:
一个字符串,去掉了ASCII编码最大的字符。
输入样例:

11
abcdadbbcc

输出样例:

abcabbcc

输入样例:

10
a[空格]b[空格]c[空格]d[空格][空格]

输出样例:

a[空格]b[空格]c[空格][空格][空格]
#include <malloc.h>
#include<stdio.h>
#include<string.h>
int main()
{
	int iLen;
	int i;
	int max=0;
	int j;
	int isSameChar=1;
    char *myStr;
	char *myStrCopy;

	scanf("%d", &iLen);
    getchar();//接收回车符(麻烦的c)
	myStr=(char *)malloc(sizeof(char)*iLen);//动态创建两个char类型的数组
	myStrCopy= (char *)malloc(sizeof(char)*iLen);
	gets(myStr) ;
	for (i = 0; myStr[i]!='\0'; i++)//字符串数组未结束
	{
		if (myStr[i]>myStr[max])
		{
			max = i;
		}

        if(myStr[i]!=myStr[0])
        {
            isSameChar=0;//不是同一个字符
        }
	}	

	j = 0;

	if (isSameChar == 1)
	{
		printf("%s\n", myStr);
	}
	else
	{
		for (i = 0; myStr[i]!='\0'; i++)
		{
			if (myStr[i]!=myStr[max])
			{
				myStrCopy[j] = myStr[i];
				j++;
			}
		}
		myStrCopy[j] = '\0';//最后一位赋'\0'

		printf("%s\n", myStrCopy);
	}
    return 0;
}