给你一个仅有大写字母以及小写字母组成的单词。对于这个单词,如果大写字母个数多于小写字母,全部变为大写;如果大写字母个数少于小写字母,全部变为小写;如果大写字母个数和小写字母一样多,全部变为小写。
你的目标:把单词的字母全部变为大写或者小写。
#include<stdio.h>
#include<malloc.h>
#include<string.h>
int main()
{
char *str;
short int k = 0, i = 0, num = 0;
str = (char *)malloc(sizeof(str) );
scanf("%s", str);
k = strlen(str);
for(i = 0; i < k; i++) // 判断大写字母的个数
{
if(str[i] >= 'A' && str[i] <= 'Z')
{
num++;
}
}
if(num <= k-num) // 比较大小写字母的个数,然后进行转换
{
for(i = 0; i < k; i++)
{
if(str[i] >= 'A' && str[i] <= 'Z')
{
str[i] = str[i] + 32;
}
}
}
else
{
for(i = 0; i < k; i++)
{
if(str[i] >= 'a' && str[i] <= 'z')
{
str[i] = str[i] - 32;
}
}
}
printf("%s\n", str);
return 0;
}