编程题#5:字符串插入
描述
有两个字符串str和substr,str的字符个数不超过10,substr的字符个数为3。(字符个数不包括字符串结尾处的'\0'。)将substr插入到str中ASCII码最大的那个字符后面,若有多个最大则只考虑第一个。
输入
输入包括若干行,每一行为一组测试数据,格式为
str substr
输出
对于每一组测试数据,输出插入之后的字符串。
#include <iostream> using namespace std; int main() { char s1[15], s2[3]; while (cin >> s1 && cin >> s2) { // 求s1字符串的长度l及最大字符下标max int l = 0, max; char t = 0; // t用来保存当前最大字符 for (int i = 0; s1[i] !='\0'; i++) { l++; if (s1[i] > t) { t = s1[i]; max = i; } } // 将最大字符后的字符向后挪,腾出三个位置 for (int i = l - 1; i >= max + 1; i--) { s1[i + 3] = s1[i]; } s1[l + 3] = '\0'; // 将s2插入空出的三个位置上 for (int i = 0; i < 3; i++) { for (int j = max + 1; j <= max + 3; j++) s1[j] = s2[i]; } cout << s1 << endl; } return 0; }
人一我百,人十我万!自己选择的路,跪着也要走完。
浙公网安备 33010602011771号