c++编程将两个字符串连接成一个字符串,并将连接后的字符串按升序排列

2024-12-19 21:14:29
推荐回答(5个)
回答1:

#include
#include
void main()
{
char ch[100];
char s[100],temp;
int i,j,n,min;
printf("请输入第一个字符串:\n");
gets(ch);
printf("请输入第二个字符串:\n");
gets(s);
strcat(ch,s);
printf("连接成一个字符串:\n");
puts(ch);
n=strlen(ch);
for(i=0;i { min=i;
for(j=i+1;j if(ch[min]>ch[j])
min=j;
temp=ch[min];
ch[min]=ch[i];
ch[i]=temp;

}printf("连接并排序后的字符串:");
puts(ch);
}

我用的是vc 6.0运行的

回答2:

#include
#include
#include

using namespace std;
//定义枚举 asc升序,desc降序
enum EnumCompare{ ASC, DESC};
//函数对象
template
class Compare
{
private:
EnumCompare comp;
public:
Compare(EnumCompare comp) : comp(comp) { }
inline bool operator () (T a, T b) {
switch (comp) {
case ASC:
return a < b;
break;
case DESC:
return !(a < b);
break;
default:
break;
}
}

};

//谓词函数
template
inline bool compare(T a, T b) {
return a < b;
}

int main()
{
string s1 = "hello,";
string s2 = "world";
string s3 = s1 + s2; //C++连接字符串很简单,string类重载了 + 运算符
cout << s3 << endl;
sort(s3.begin(), s3.end(), Compare(DESC));
// sort(s3.begin(), s3.end(), compare);
// sort(s3.begin(), s3.end());
cout << s3 << endl;
return 0;
}

回答3:

#include
using namespace std;
template
void bubbleSort(T *a,int len)
{
T t; for(int j=0;j {
for(int i=0;i if(a[i]>a[i+1])t=a[i],a[i]=a[i+1],a[i+1]=t;
}
}
char *Linker(char *str1,char *str2)
{
strcat(str1,str2);
bubbleSort(str1,strlen(str1));
return str1;
}
int main()
{
char a[] = "hello";
char b[] = "world";
cout< return 0;
}

回答4:

#include "iostream.h"
//字符串的连接
char *strcat(char *x,char *y)
{
char *t=x;

while(*x!='\0')
x++;
while((*x=*y)!='\0')
{
x++;
y++;
}
return t;
}
//排序过程可用' 选择法'
main()
{
char a[100]="fdjhlsd";
char b[100]="213";
strcat(b,a);
cout<}

回答5:

升序是什么意思。连接起来很容易的