首页 > 代码库 > 华为历年试题(字符串2)
华为历年试题(字符串2)
题目描述:
输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母,
若原始大写字母为V~Z, 则转换为对应小写字母的值减21。
其他字符不变,输出转换后的字符串。
例如,对于字母A,则转换为小写字母f;若形参是字母W,则转换为小写字母b
要求实现函数:
void TransferString(const char * pInputStr, long lInputLen, char * pOutputStr);
【输入】 pInputStr: 输入字符串
lInputLen: 输入字符串长度
【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;
【注意】只需要完成该函数功能算法,中间不需要有任何IO的输入输出
示例
输入:“Axs3mWss”
输出:“fxs3mbss”
#include<string>using namespace std;void TransferString(const char * pInputStr, long lInputLen, char * pOutputStr){ unsigned len = strlen(pInputStr); unsigned j=0; for(unsigned i=0;i<len;i++) { if(pInputStr[i]>=‘A‘ && pInputStr[i]<‘V‘) { pOutputStr[j++]=pInputStr[i]+‘a‘-‘A‘+5; } else if(pInputStr[i]>=‘V‘ && pInputStr[i]<=‘Z‘) { pOutputStr[j++]=pInputStr[i]+‘a‘-‘A‘-21; } else { pOutputStr[j++]=pInputStr[i]; } } pOutputStr[j]=‘\0‘;}void main(){ const char* input = "Axs3mWss"; char output[20]; TransferString(input, 56,output); puts(output); }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。