Hduoj2816【字符串】【水题】
来源:互联网 发布:相马光子 知乎 编辑:程序博客网 时间:2024/05/01 10:19
#include<stdio.h>#include<string.h>char str[1001], S[26] = {'K','X','V','M','C','N','O','P','H','Q','R','S','Z','Y','I','J','A','D','L','E','G','W','B','U','F','T'};char s[502], s1[251], s2[251];void get(){int i, l, k;l = strlen(str);k = 0;for(i = 0; i < l; i += 2){if(str[i] == '2'){if(str[i+1] == '1')s[k] = 'A';if(str[i+1] == '2')s[k] = 'B';if(str[i+1] == '3')s[k] = 'C';}else if(str[i] == '3'){if(str[i+1] == '1')s[k] = 'D';if(str[i+1] == '2')s[k] = 'E';if(str[i+1] == '3')s[k] = 'F';} else if(str[i] == '4'){if(str[i+1] == '1')s[k] = 'G';if(str[i+1] == '2')s[k] = 'H';if(str[i+1] == '3')s[k] = 'I';}else if(str[i] == '5'){if(str[i+1] == '1')s[k] = 'J';if(str[i+1] == '2')s[k] = 'K';if(str[i+1] == '3')s[k] = 'L';}else if(str[i] == '6'){if(str[i+1] == '1')s[k] = 'M';if(str[i+1] == '2')s[k] = 'N';if(str[i+1] == '3')s[k] = 'O'; }else if(str[i] == '7'){if(str[i+1] == '1')s[k] = 'P';if(str[i+1] == '2')s[k] = 'Q';if(str[i+1] == '3')s[k] = 'R'; if(str[i+1] == '4')s[k] = 'S';}else if(str[i] == '8'){if(str[i+1] == '1')s[k] = 'T';if(str[i+1] == '2')s[k] = 'U';if(str[i+1] == '3')s[k] = 'V'; }else if(str[i] == '9'){if(str[i+1] == '1')s[k] = 'W';if(str[i+1] == '2')s[k] = 'X';if(str[i+1] == '3')s[k] = 'Y'; if(str[i+1] == '4')s[k] = 'Z'; }k++;}s[k] = '\0';}void change(){int i, l;l = strlen(s);for(i = 0; i < l; ++i)s[i] = S[s[i] - 'A'];}void cut(){int i, j, l, l1, l2;l = strlen(s);if(l & 1){l1 = l/2 + 1;l2 = l - l1;for(i = 0; i < l1; ++i)s1[i] = s[i];for(i = l1; i < l; ++i)s2[i-l1] = s[i]; }else{l1 = l/2;l2 = l1;for(i = 0; i < l1; ++i)s1[i] = s[i];for(i = l1; i < l; ++i)s2[i-l1] = s[i]; }i = 0;while(l1 >= 0){if(l1 > l2){s[i++] = s1[l1-1];l1--;}else{s[i++] = s2[l2-1];l2--;}}}int main(){int i, j, k;while(gets(str) != NULL){get();//get strchange();cut();puts(s);}return 0;}
题意:给出一串数字,表示n个字符的编码,第一个数字表示键盘上的数字键,第二个数字表示该键上的第几个字符,将数字转换成字符,接着将对应的字符通过题目给出的规律再次进行转换,得到一个新的字符串,将字符串平分成2个部分,前面的长度大于后面的,再将这2个部分重新组合得到最终的答案。
思路:思路就是题意,很清晰,就是通过对字符串的逐步操作得出最终的答案。
0 0
- Hduoj2816【字符串】【水题】
- NYOJ 题目915+-字符串(字符串,水题)
- NYOJ题目915+-字符串(水题,字符串)
- 字符串、、、水题。Alphabet Cookies
- 字符串解密(水题)
- Hduoj2043 【字符串】【水题】
- Hduoj2072 【水题】【字符串处理】
- 1062 字符串处理 水题
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 字符串
- 《大话数据结构》第9章 排序 9.3 冒泡排序(下)
- HDU3756
- Android Graphic :OpenGL|ES
- 判断一段字符中是否含有中文
- Visual Studio 调试卡顿的解决方法
- Hduoj2816【字符串】【水题】
- 贴代码
- java面向对象(多态)
- 《大话数据结构》第9章 排序 9.4 简单选择排序
- Matlab---变量
- XCode调试技巧–设置全局断点快速定位问题代码所在行
- Android 内存分析工具LogCat GC
- 图文详解YUV数据格式
- 如何把GIT仓库的子目录独立成新仓库