字符串的完美度
来源:互联网 发布:sql select返回值类型 编辑:程序博客网 时间:2024/04/30 09:02
题目详情
我们要给每个字母配一个1-26之间的整数,具体怎么分配由你决定,但不同字母的完美度不同,
而一个字符串的完美度等于它里面所有字母的完美度之和,且不在乎字母大小写,也就是说字母F和f的完美度是一样的。
现在给定一个字符串,输出它的最大可能的完美度。
例如:dad,你可以将26分配给d,25分配给a,这样整个字符串最大可能的完美度为77。
函数头部
C
int perfect(const char *s);
C++
int perfect(const string &s);
java
public static int perfect(String s);
下面是我用C语言写的程序
#include<stdio.h>int perfect(const char *s){const char *p = s; char temp[26];int k = 0, count[26], i, temnum, biggest = 0;while(k < 26){temp[k] = 'a' + k;count[k++] = 0;}while(*p != '\0'){k = 0;while((*p != temp[k]) && (*p != temp[k] - 32)){k++;}count[k]++;p++;}//从高下标端到低下标端进行冒泡排序for(k = 25; k > 0; k--){for(i = 25; i > 25 - k; i--){if(count[i] > count[i - 1]){temnum = count[i]; count[i] = count[i - 1]; count[i - 1] = temnum;}}}//输入排序后的数组,以查看排序是否成功for(i = 0; i < 26; i++){printf("%d ", count[i]);}printf("\n");for(temnum = 26, i = 0; count[i] != 0; i++){printf("%d ", count[i]);biggest += count[i] * temnum--;}printf("\n");return biggest;}int main(){char mstr[100],pstr[26];int biggest;printf("Please input a string:\n");scanf("%s", mstr);biggest = perfect(mstr);printf("The biggest perfect number is %d\n", biggest);return 0;}
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度
- 字符串的完美度总结
- 字符串的完美度算法
- 挑战编程:字符串的完美度
- 在线编程:字符串的完美度
- 编程挑战:字符串的完美度
- 庞果网之字符串的完美度
- JTable中向某一列添加JRadioButton
- POJ 2244 再谈约瑟夫问题
- 本地DNS解析----Hosts
- ios单元测试相关文章
- 将数据行转列分组显示
- 字符串的完美度
- 解决MySQL:1042错误-Can't get hostname for your address
- 自己动手写Web自动化测试框架
- 关于zend studio 8的4空格替换tab
- 用例子来说明面向对象和面向过程的区别
- jni string handle
- Windows7中出现“文件正在被另一个人或程序使用”
- mysql中text,longtext,mediumtext字段类型的意思,以及区别
- PHP数据类型转换