//?將數組中的數字連接起來,找出最大值(最小值)。
//通過拼接來尋找最大值/最小值,本質上是壹種特殊的數據排序,將兩個要比較的數字拼接在壹起,然後進行比較。
//比如A和B需要比較ab和ba的大小來得到A和B的大小。
//Max/Min已在代碼中被註釋掉。
# include & ltstdio.h & gt
int?CMP func _ ex(const?虛空?*a,?const?虛空?*b)
{
夏爾。str 1【21】?=?{0};
夏爾。str 2【21】?=?{0};
sprintf(str 1,?“%d%d“,?*(int?*)壹個,?*(int?*)b);
sprintf(str 2,?“%d%d“,?*(int?*)b,?*(int?*)a);
夏爾。*p1?=?str 1;
夏爾。*p2?=?str2
int?結果?=?strcmp(str 1,?str 2);
回歸?(-結果);//求最大值
//返回?(結果);//找到最小值
}
int?主要(無效)
{
夏爾。結果【200】?=?{0};
夏爾。*p?=?結果;
int?a【】?=?{3,?32,?321,?2,?1,?3};
int?Count?=?sizeof(a)?/?sizeof(int);
qsort(a,?sizeof(a)?/?sizeof(int),?sizeof(int),?CMP func _ ex);
為了什麽?(int?我?=?0;?我?& lt?nCount?++i)?{
sprintf(p,?“%d“,?a【I】);
p?=?& ampresult【strlen(result)】;
}
printf(“% s \ r \ n“,?結果);
回歸?0;
}