题目描述:
输入一个字符串,将其中大写字母转换为对应小写字母之后的第五个字母,
若原始大写字母为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); }
华为历年试题(字符串2)
时间: 2024-10-08 19:09:45