码迷,mamicode.com
首页 > 其他好文 > 详细

华为OJ平台试题 —— 字符串:名字的漂亮度

时间:2015-08-15 10:27:38      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:华为   机试试题   字符串   名字漂亮度   

<span style="font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: rgb(255, 255, 255);">1、名字的漂亮度</span>

技术分享


代码:

<pre name="code" class="cpp">

#include<stdio.h>

/*
 * 对数组a 进行排序
 */ 
void sort(int a[], int n)
{

     int i, j, temp;
     
     for( i = 0; i < n; i++)
     	for(j = i; j < n ; j++)
     	{
     		if(a[i] < a[j])
     		{
     			temp = a[i];
     			a[i] = a[j];
     			a[j] = temp;
     		}
     	}
}

int main(void)
{
	int n;  /* 名字个数 */ 

	scanf("%d",&n);

	while(n--)
	{
		char str[100];
		int  a[26]={0},     /* 名字中每个字符的个数组成的数组 */ 
			 i = 0,
			 result = 0;    /* 漂亮度µ  */ 

		scanf("%s",str);    /* 输入名字  */ 

	
			
		<img src="http://img.blog.csdn.net/20150815100447310" alt="" />
		while(str[i] != '\0')
		{
			if(str[i] >= 'a' && str[i] <= 'z')
			{
				a[str[i]-'a']++;
			}
			if(str[i]>='A'&&str[i]<='Z')
			{
				a[str[i]-'A']++;
			}
			i++;
		}
		
		sort(a,26); /* 排序 */

		/* 对出现次数最多的字母给予最大的权值即26,其他的依次递减  */ 
		for(i=0;i<=25;i++)
		{
			result+=(26-i)*a[i];
		}

		printf("%d\n",result);
	}
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

华为OJ平台试题 —— 字符串:名字的漂亮度

标签:华为   机试试题   字符串   名字漂亮度   

原文地址:http://blog.csdn.net/cowena/article/details/47678895

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!