【问题描述】 小明一向是一个倒霉又聪明的学生,今天她坐在一颗苹果树下读书,由于她很倒霉所以不断有 很多苹果从树上掉到她的头上,同时又有损友向她扔苹果。现在她数出了一共有 n 个苹果掉 到了地上,并且为每个苹果编上了一个字母,并对它们按字典序排序,但是她不知道损友扔给她的苹果应该插入在哪里。
输入:
第一行有一个 n,代表树上掉下来了 n 个苹果。
第二行有 n 个小写字母,代表从树上掉下来苹果的编号。
第三行只有一个小写字母,代表朋友扔给她的那一个。
【样例输入】
9
bcehijrzz
f
【样例输出】
bcefhijrzz
(把f插入到了按字母顺序应该在的位置)
如下:
#include <iostream>
using namespace std;
int main()
{
char buf[100];
int n, i,flag=0;
char ch;
cin >> n;
cin >> buf;
cin.get(ch); //接收回车符
cin.get(ch); //接收损友仍的苹果
if (ch <= buf[0])
cout << ch << buf << endl;
else if (ch >= buf[n - 1])
cout << buf << ch << endl;
else
{
for (i = 0; i < n; i++)
{
if (buf[i] < ch)
cout << buf[i];
else
{
if (flag == 0)
{
flag = 1;
cout << ch << buf[i];
}
else
cout << buf[i];
}
}
}
return 0;
}
#include<iostream>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
int n;
char t,str[250];
cin >> n;
cin >> str;
cin >> t;
int len=strlen(str);
str[len]=t;
str[len+1]='\0';
sort(str,str+(len+1));
cout << str << endl;
return 0;
}
void inword(char a[],int n, char d){
for(int i = 0; i < n; i++)
{
if((a[i]<=d && i < n-1 && a[i+1] > d) || (a[i]<=d && i == n-1)){
cout<<a[i]<<d;
}else{
cout<<a[i];
}
}
}