题解 | #名字的漂亮度#
名字的漂亮度
http://www.nowcoder.com/practice/02cb8d3597cf416d9f6ae1b9ddc4fde3
#include <stdio.h>
int main()
{
int n;
char str[4096] = {'0'};
scanf("%d",&n);
while((scanf("%s",&str)) != EOF)
{
//统计各个字母的个数
int len = strlen(str);
int hp[26] = {0};
for(int i=0;i<len;i++)
{
if(str[i] >= 'a' && str[i] <= 'z')
{
hp[str[i]-'a']++;
}
else if(str[i] >= 'A' && str[i] <= 'Z')
{
hp[str[i]-'A']++;
}
}
//冒泡排序
for(int i=0;i<(26-1);i++)
{
for(int j=0; j<(26-1-i); j++)
{
if(hp[j] > hp[j+1])
{
//交换
int temp = hp[j];
hp[j] = hp[j+1];
hp[j+1] = temp;
}
}
}
int k=25;
int sum = 0;
while(hp[k]>0 && (k>=0))
{
sum += hp[k]*(k+1);
k--;
}
printf("%d\n",sum);
}
}
曼迪匹艾公司福利 125人发布
