/*將三個字符串由小到大排序 */
#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;
}