POJ 字符窜插入

来源:互联网 发布:python 2.7.9 编辑:程序博客网 时间:2024/06/03 00:07
总时间限制:
1000ms
内存限制:
65536kB
描述
有两个字符串str和substr,str的字符个数不超过10,substr的字符个数为3。(字符个数不包括字符串结尾处的'\0'。)将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。
输入
输入包括若干行,每一行为一组测试数据,格式为
str substr
输出
对于每一组测试数据,输出插入之后的字符串。
样例输入
abcab eee12343 555
样例输出
abceeeab12345553
#include <cstdio>#include <cstring>const int MAX_STRING_LEN = 15;bool readLine(char *str, char *substr){bool bEof = false;if (2 == fscanf(stdin, "%s %s", str, substr)){bEof = true;}return bEof;}void insert(char *str, char *substr){int i, maxIdx;size_t size = strlen(str);// find the index of the maximum ascii codemaxIdx = 0;for (i=1; i<size; ++i){if (str[maxIdx] < str[i]){maxIdx = i;}}// shift right to make space for (i=size; i>maxIdx; --i){str[i+3] = str[i];}// insert the substr++i;str[i++] = substr[0];str[i++] = substr[1];str[i]   = substr[2];}void print(char *str){printf("%s\n", str);}int main(void){char str[MAX_STRING_LEN]    = {'\0'};char substr[MAX_STRING_LEN] = {'\0'};while (readLine(str, substr)){insert(str, substr);print(str);}return 0;}

原创粉丝点击