c语言字母转化为数字

lllllllllllllllllll; 2019-04-15 02:34:25
X公司最近研究出了一种新的编码方式,这种编码是将一串大写字母转化为数字。下面是每个字母所代表的数字。
B, F, P, V 代表 1
C, G, J, K, Q, S, X, Z 代表 2。
D , T 代表 3
L 代表 4
M , N 代表 5
R 代表 6。
另外字母A, E, I, O, U, H, W,Y不代表任何数字。你需要将每个字母转化为所代表的数字,但注意,如果连续几个字母都代表同一个数字,那么你只需要转化成一个数字就可以。比如PF,P和F都代表1,所以你只需要输出一个1,而不是两个1。不代表数字的字母不用转化
输入格式
第一行为整数T(0<T<10)代表T行测试数据,后边是T行,每行为一个只含大写字母的字符串,串长不超过20。
输出格式
为T行,每行对应输入的T行测试数据,为该行测试数据的字符串转化后的数字编码,如果没有任何编码,则输出一个空行。


输入样例
3
KHAWN
PFISTER
BOBBY
输出样例
25
1236
11
...全文
1640 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
不用了 我有更简短的代码实现
但也谢谢了
wshyhm 2019-04-16
  • 打赏
  • 举报
回复
#include<stdio.h> int main() { char s1[26]; int a[26]; for (int i = 0; i < 26; ++i) // 赋初值 { s1[i] = 'A' + i; } for (int i = 0;i < 26; ++i) { if ('B' == s1[i] || 'F' == s1[i] || 'P' == s1[i] || 'V' == s1[i]) { a[i] = 1; } else if ('C' == s1[i] || 'G' == s1[i] || 'J' == s1[i] || 'K' == s1[i] || 'Q' == s1[i] || 'S' == s1[i] || 'X' == s1[i] || 'Z' == s1[i]) { a[i] = 2; } else if ('D' == s1[i] || 'T' == s1[i]) { a[i] = 3; } else if ('L' == s1[i]) { a[i] = 4; } else if ('M' == s1[i] || 'N' == s1[i]) { a[i] = 5; } else if ('R' == s1[i]) { a[i] = 6; } else { a[i] = 0; //无效数字 } } int nTmp = -1, n = 0; char s2[10][21] = {'\0'}; int nOutput[10][20] = {0}; scanf ("%d", &n); for (int i = 0; i < n; ++i) { scanf ("%s", s2[i]); } int nNum; for (int i = 0; i < n; ++i) { for (int j = 0,k = 0; j < 21; ++j) { if ('\0' == s2[i][j]) { break; } char ch = s2[i][j]; nNum = a[int(ch-'A')]; if (nNum == 0) { nTmp = 0; } if ((nNum != 0) && (nNum != nTmp)) { nOutput[i][k] = nNum; nTmp = nNum; ++k; } } } for (int i = 0; i < n; ++i) { for (int j = 0; j < 20; ++j) { if (nOutput[i][j] != 0) { printf("%d", nOutput[i][j]); } else break; } printf("\n"); } return 0; } // 代码拿去,结贴,分给我!
  • 打赏
  • 举报
回复

只是做伸手党要代码
636f6c696e 2019-04-15
  • 打赏
  • 举报
回复
你的疑问是什么?还是只是做伸手党要代码?
c语言60个案例项目源码 c语言24点游戏源码 c语言Turbo C下写的俄罗斯方块 c语言五子棋源码 c语言俄罗斯方块 c语言别踩白块儿(双人版)源码 c语言华容道源码 c语言吃逗游戏源码 c语言地空对战游戏 c语言坑爹大冒险 c语言坦克游戏源代码 c语言大丰收游戏源码 c语言奔跑的火柴人游戏源码 c语言实现的象棋源码 c语言实现的超级玛丽游戏源码 c语言情人节的红玫瑰 c语言字母游戏源码 c语言打字游戏代码 c语言扔香蕉的大猩猩 c语言拼图游戏源码 c语言支持自己创建迷宫,并求解最短路径 c语言涂格子游戏源码 c语言盒子接球游戏源码 c语言矿井逃生 c语言种地要浇水游戏源码 c语言自创军旗游戏源码 c语言自创推箱子游戏改版 c语言贪吃蛇游戏的双人对战版 c语言连连看游戏源码 c语言青蛙过河小游戏 c语言黑白棋ai游戏源码 纯c语言迷宫源码 c语言对对碰游戏源码 c语言配有图片和音乐的打字母游戏 c语言商品销售系统源码 c语言图书借阅系统源码 c语言图书管理系统源码 c语言学生信息系统 c语言学生成绩管理系统 c语言学生成绩管理系统源码 C语言超市管理系统 c语言通讯录管理系统源码 c语言UDP传输系统源码 c语言教工工资管理系统 c语言文本编辑器系统源码 c语言火车票订票管理源码 c语言万年历源码 c语言电子时钟程序 c语言做的一个任务管理器 c语言做的播放器源码 c语言做的绘图板系统 c语言对自己电脑系统测试 c语言力学相关的流体源码 c语言实现图片转化为 ASCII 图 c语言实现如果cmd中的ping c语言实现数字c语言实现水波纹显示效果 c语言实现的汉诺塔演示程序 c语言实现类似弹力球效果 c语言实现非常漂亮祝福烟花效果

70,036

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧