/*将三个字符串由小到大排序 */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void swapStr(char *pStrA,char *pStrB)
{
char temp[100];
strcpy(temp,pStrA);//strcpy()会将参数src 字符串拷贝至参数dest 所指的地址。
strcpy(pStrA,pStrB);//strcpy()会将参数src 字符串拷贝至参数dest 所指的地址。
strcpy(pStrB,temp);//strcpy()会将参数src 字符串拷贝至参数dest 所指的地址。
}
void strSort(char *pStrLower,char *pStrMiddle,char *pStrHigher)
{
char temp[100];
/*
int strcmp(const char* str1,const char* str2);
strcmp()strcmp() 会根据 ASCII 编码依次比较 str1 和 str2 的每一个字符,
直到出现不到的字符,或者到达字符串末尾(遇见\0)。
返回值:
如果返回值 < 0,则表示 str1 小于 str2。
如果返回值 > 0,则表示 str2 小于 str1。
如果返回值 = 0,则表示 str1 等于 str2。
*/
if(strcmp(pStrLower,pStrMiddle) > 0)//L>M
swapStr(pStrLower,pStrMiddle);
if(strcmp(pStrLower,pStrHigher) > 0)//L>H
swapStr(pStrLower,pStrHigher);
if(strcmp(pStrMiddle,pStrHigher) > 0)//M>H
swapStr(pStrMiddle,pStrHigher);
}
int main()
{
char strLower[100];
char strMiddle[100];
char strHigher[100];
gets(strLower);
gets(strMiddle);
gets(strHigher);
strSort(strLower,strMiddle,strHigher);
printf("%s %s %s",strLower,strMiddle,strHigher);
return 0;
}