字符矩阵翻译

输入n和m,代表这个字符矩阵的行和列数,然后在接下来的n行,每行输入一个含有m个字符的字符串。要求将这个字符矩阵中的每一个字符,转换为对应的字符。

转换规则为:

对于大写字母’A’-’Z’,分别转换为0-25

对于小写字母’a’-’z’,分别转换为26-51

对于其他字符,全部转换为’X’,大写的’X’

然后

1.输出这个转换后的字符矩阵

2.输出转换后X的数目,另外再按照行优先的顺序,输出第一个X所在的行列(每个字符算一个位置,例如26X,则X是第一行第三列) 行列标均从1开始

注意:题目满足转换后一定存在至少一个’X’.

例如输入:

2 3

acZ

@2z

输出为:

262825

XX51

2 2 1


代码1:(自己写的):

#include <iostream>
#include <stdio.h>using namespace std;int main()
{int n,m,tem,x=0,cc=0,rr=0;char c;cin>>n>>m;getchar();for(int i=1;i<=n;i++){tem=0;for(int j=1;j<=m;j++){c=getchar();if(c>='A'&&c<='Z')if((c-'A')>=10){printf("%d%d",(c-'A')/10,(c-'A')%10);tem+=2;}else{printf("%d",c-'A');tem++;}else if(c>='a'&&c<='z'){printf("%d%d",(c-'a'+26)/10,(c-'a'+26)%10);tem+=2;}else{printf("X");x++;if(x==1){cc=i;rr=tem+1;}}}getchar();printf("\n");}printf("%d ",x);printf("%d %d",cc,rr);return 0;
}

代码2:(西交wrong):

#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <cmath>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <queue>
#include <stack>
#include <set>
#include <map>using namespace std;
const int maxn = 100000;
typedef pair<int,int> P;
int main()
{int n,m,rr,cc,tmp,cot=0;char c;bool first=0; //0还未出现X 1已经出现Xcin>>n>>m;getchar();for(int i=1;i<=n;i++){tmp=0;for(int j=1;j<=m;j++){c=getchar();if(c>='A'&&c<='Z'){if(c-'A'<=9) tmp++;//当前行已经转换之后的字符个数else tmp+=2;printf("%d",c-'A');}elseif(c>='a'&&c<='z'){printf("%d",c-'a'+26);tmp+=2;}else{printf("X");cot++;if(first==0)//'X'还没有出现{rr=i;cc=tmp+1;first=1;}//'X'已经出现}}getchar();printf("\n");}cout<<cot<<" "<<rr<<" "<<cc<<endl;return 0;
}

(感谢西交wrong学长提供以上题目练习)

4-字符转换及所在位置相关推荐

  1. Oracle处理小数点后位数、格式化数字、查找指定字符所在位置的几个函数

    转载自:http://www.cnblogs.com/toowang/p/3781480.html 1.处理小数点位数的几个oracle函数(): 1.取四舍五入的几位小数 select round( ...

  2. 解决:vue : 无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次。 所在位置 行:1 字符: 1 + vue

    1.问题 vue : 无法将"vue"项识别为 cmdlet.函数.脚本文件或可运行程序的名称.请检查名称的拼写,如果包括路径,请确保路径正确, 然后再试一次. 所在位置 行:1 ...

  3. npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1

    vs终端输入npm install出现错误 我首先做的两件事 直接cmd,输入 npm config set registry http://registry.npm.taobao.org/ 然后,项 ...

  4. java String截取字符之前,之后的字符串。获取每个字符所在位置。

    java String截取字符之前,之后的字符串.获取每个字符所在位置 //获取每个逗号之前,之后的每个字符 public class Stringindexof { public static vo ...

  5. mbstowcs 和 wcstombs函数:C语言提供的宽字符和多字节字符转换函数

    C语言中的多字节字符与宽字符 字符型char只占八位,存储ascii码的,而宽字符型是为了存储多国语言的代码unicode,包括中文,法语德语什么的,8位256种不够用了 C语言原本是在英文环境中设计 ...

  6. 发送候选文字到光标所在位置

    输入法发送候选文字到光标所在处是怎么做到的? 这个问题折磨我将近半个月,今天终于搞定,分享下 用spy++可以捕获当我们当输入完文字按空格时,输入法调用哪些windows消息机制来完成文字从输入法候选 ...

  7. 解字谜:黑白皆算,对我等众猿而言中央C所在位置数优剃爱肤杠吧爱慕帝贰亿次的值是?...

    题目:黑白皆算,对我等众猿而言中央C所在位置数优剃爱肤杠吧爱慕帝贰亿次的值是? 解: 1.破题 1.1黑白皆算,中央C所在位置(C do) 上图是一个标准的钢琴键盘示意图.这句话的意思黑键也算,从第一 ...

  8. 微信小程序获取用户当前所在位置

    获取用户当前所在位置 1. 授权并获取经纬度 调用 wx.getLocation 来进行授权,使用此属性时应注意在App.json文件中进行配置 "permission": {&q ...

  9. 【字符转换】——全角和半角转换

    背景 在我们使用搜狗输入法的时候会有全角和半角的切换,首先看一下这两者的区别吧 全角,指一个字符占用两个标准字符位置的状态,也是排字的度量单位,宽度等于所使用的文字的磅数汉. 半角,即一个字符占用一个 ...

最新文章

  1. FFmpeg中RTSP客户端拉流测试代码
  2. 【每日一题】502. IPO
  3. 【超级大转载】常用的D3D变换相关函数
  4. asp.net confirm提示
  5. android开发出现No Launcher activity found!解决方案
  6. 为什么老编辑器Vim这么难用,却很受欢迎?
  7. MySQL每秒57万的写入,带你飞~
  8. 笔记-高项案例题-2019年上-采购管理
  9. typora公式zuo对齐_latex公式如何居左对齐
  10. 云联惠认证时间_云联惠强制关闭真正原因是什么?
  11. 小米不加入鸿蒙,是华为不给小米用鸿蒙,还是小米拒绝使用鸿蒙?
  12. poj1113 凸包
  13. NWT失败反省:谁给汝之权力,竟然敢要吾走人?
  14. 三菱数控CNC系统G代码M代码大全
  15. 轩辕实验室 |自动驾驶系统安全隐患分析
  16. 传教士与野人过河问题
  17. dnspod.cn 动态域名客户端
  18. r matlab spss,特别放送 | 零基础编程入门:Python、Matlab、R、SPSS资料大放送
  19. 笔记 黑马程序员C++教程从0到1入门编程——提高编程02
  20. 中国有机微量矿物质天然饲料市场趋势报告、技术动态创新及市场预测

热门文章

  1. APPCAN学习笔记005---AppCan IDE安装下载,AppCan IDE启动
  2. Ui学习笔记---EasyUI的EasyLoader组件源码分析
  3. android学习笔记---38_采用广播接收者拦截外拔电话,实现原理以及实例源码
  4. 把样本扩增与多类标融合在一起的caffe 代码
  5. C++查看数据存储大小端模式
  6. 回字有四样写法之引号编码
  7. 随想录(easyx中的键盘输入和鼠标消息)
  8. 嵌入式操作系统内核原理和开发(基础)
  9. java cpu利用率上不去_Java 面试突击之 Java 并发知识基础 amp; 进阶考点全解析
  10. 论述计算机模拟的优势与重要性,计算机模拟技术在高中地理教学的应用