名字的漂亮度
2015-08-01 21:30
363 查看
名字的漂亮度=26*字母个数最多的个数+25*字母个数其次的个数+24*字母个数再其次的(忽略大小写)个数+….+1*出现次数最小的个数。
输入:整数N,N个字符串
输出:N个字符串漂亮度
例如:
输入1 a
输出 26
先求出每个字母出现的个数,然后对个数从大到小排序,再求出字符的漂亮度。
输入:整数N,N个字符串
输出:N个字符串漂亮度
例如:
输入1 a
输出 26
先求出每个字母出现的个数,然后对个数从大到小排序,再求出字符的漂亮度。
#include<iostream> #include<string> using namespace std; int meili(string s){ int a[26] = { 0 }; int l = s.size(),pos; int i, j,temp,len=0; for (i = 0; i < l; i++){ if (isupper(s[i])) pos = s[i] - 65; else pos = s[i] - 97; a[pos]++; } for (i = 0; i < 25; i++){ for (j = 0; j < 25 - i; j++){ if (a[j] < a[j + 1]){ temp = a[j]; a[j] = a[j + 1]; a[j + 1] = temp; } } } for (i = 0; a[i] != 0&&i<26; i++) len += (26 - i)*a[i]; return len; } void main(){ cout << "输入:"<<endl; int n,i; string s; cin >> n; int *len = new int ; for (i = 0; i < n; i++){ cin >> s; len[i] = meili(s); } cout <<endl<< "输出:" << endl; for (i = 0; i < n; i++) cout << len[i] << endl; system("pause"); }
相关文章推荐
- 创建一个iSCSI target时候不能添加Target IQN的解决方法
- 22. Window print() 方法
- @property括号中关键字的使用
- 【攻克Android (14)】Dialog 对话框
- 剑指Offer面试题17(Java版):合并两个排序的链表
- mysql修改数据库的密码
- UVA 1609 Foul Play 不公平竞赛 (构(luan)造(gao)+递归)
- mysql中事物的隐性的提交
- 【Qt OpenGL教程】03:添加颜色
- leetcode-242-Valid Anagram
- LeetCode#31 Next Permutation
- (第四天)作用域链、闭包
- (第四天)作用域链、闭包
- DOM与SAX的区别
- 高德地图JavaScript API-路径规划——基于amap-js_V1.3
- matlab与java的连接的配置
- java中的异常处理
- ABP之动态WebAPI(二)
- Emacs 帮助系统
- Linux系统入门学习:从VirtualBox中从主机访问NAT客户机