c语言 字母统一计划 。。

给你一个仅有大小写字母组成的字符串,如果其中大写字母的个数大于小写字母的个数,则把全部字母变成大写的,否则全部变成小写的


int main()
{
    char str[100] = {0}, ch;
    int i = 0, upp = 0, low = 0, tolow;

    while ((ch = getchar()) != '\n')
    {
        if (ch >= 'a' && ch <= 'z')
            low++;
        if (ch >= 'A' && ch <= 'Z')
            upp++;
        str[i++] = ch;
    }
    tolow = low > upp;
    i = 0;
    while (str[i])
    {
        if (!tolow && (str[i] >= 'a' && str[i] <= 'z'))
            str[i] -= 32;
        if (tolow && (str[i] >= 'A' && str[i] <= 'Z'))
            str[i] += 32;
        i++;
    }
    printf("%s\n", str);

    return 0;
}

先统计大小写字符各自的数量就行了