3、將三個字符串由小到大排序


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM