1、字符串排序
头文件string.h里的strcmp(), strcpy()函数都是对字符串的应用
实例:
#include<stdio.h>
#include <string.h>
int main()
{
int i, j;
char str[10][50], temp[50];
printf("输入10个单词:\n");
for(i=0; i<10; ++i)
scanf("%s[^\n]",str[i]);
for(i=0; i<9; ++i)
for(j=i+1; j<10 ; ++j)
{
if(strcmp(str[i], str[j])>0)
{
strcpy(temp, str[i]);
strcpy(str[i], str[j]);
strcpy(str[j], temp);
}
}
printf("\n排序后: \n");
for(i=0; i<10; ++i)
{
puts(str[i]);
}
return 0;
}
2、对字符串里的字符排序
不能用strcmp(),他的参数必须是字符串
#include<stdio.h>
#include<string.h>
int main()
{
char str[20];
while(scanf("%s",str)!=EOF)
{
int length=strlen(str);
for(int i=0;i<length;i++)
{
for(int j=0;j<length-1-i;j++)
{
if(str[j]>str[j+1])
{
char tmp=str[j];
str[j]=str[j+1];
str[j+1]=tmp;
}
}
} //冒泡排序
for(int i=0;i<length;i++){
printf("%c",str[i]);
}
printf("\n");
}
return 0;
}
C++
#include<iostream>
#include<cstdio>
#include<string>
#include<algorithm>
using namespace std;
int main()
{
string str;
while(cin >> str)
{
sort(str.begin(), str.end());
cout << str << endl;
}
return 0;
}