华为机试题三

#include <iostream>
#include <string.h>
using namespace std;
int fun(char *a)
{
	int i,j,temp;
	int k=strlen(a);
	int num[26]={0};
	for (i=0;i<k;i++)
	{
		if(a[i]>'A'&&a[i]<'Z')
			a[i] = a[i] + 32;
       num[a[i]-'a']++;
	}
	for (i=0;i<25;i++)
	{
		temp=i;
		for(j=i+1;j<26;j++)
			if (num[j]<num[temp])	temp=j;
		if (temp != i)
		{
           k = num[temp];
		   num[temp] = num[i];
		   num[i] = k;
		}
	}
	int sum =0;
	for (i=25;i>=0;i--)
	{
       sum = sum + (i+1)*num[i];
	}
	return sum;
}
void main()
{
	int n,i;
    char a[10][30];
	cin>>n;
	for(i=0;i<n;i++)
	{
		cin>>a[i];
        cout<<fun(a[i])<<endl;
	}
}

 最后一个单词的大小

原文地址:https://www.cnblogs.com/zlj830/p/4717139.html