回 帖 发 新 帖 刷新版面

主题:c++相关问题

写一个函数,找出给定字符串中具有最小ASCII码的字符。例如字符串中“world”中字符‘d’具有最小的ASCII码。函数的原型为:
char MaxCharacter(char *str);
函数参数:str指向所要处理的字符串;
函数返回值:如果str不空,则返回具有最小ASCII码的字符,否则返回空字符0x0或者'\0'。
char MaxCharacter(char *str)
{ //在下面写上程序的实现




更多知识自:[url=http://www.592benet.com.cn]北大青鸟昌平[/url]

回复列表 (共1个回复)

沙发

MaxCharacter?? 费解的名字,改为MinASCII
int MinOfArray(const int *pArray, int nSize)
{
    int ix, min, pos = 0;
    for (min = pArray[0], ix = 0; ix < nSize; ++ix)
    {
        if (min > pArray[ix])
        {
            min = pArray[ix];
            pos = ix;
        }
    }
    return pos;
}

char MinASCII(const char *str)
{
    if (!str)
    {
        return (char)0;
    }
    int* pBuf;
    int len = strlen(str);
    MALLOC(pBuf, len*sizeof(int), int);
    for (int ix = 0; ix < len; ++ix)
    {
        pBuf[ix] = (int)str[ix];
    }
    int index = MinOfArray(pBuf, len);
    free(pBuf);
    return str[index];
}

我来回复

您尚未登录,请登录后再回复。点此登录或注册