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