int?split _ str(char *?str)//get?那個?數數?的?線
{
int?數數?=?1;
int?旗幟?=?0;
while(* str!='\0')
{
if(* str?==?'?'?& amp& amp?旗幟?==?1)
{
count++;
旗幟?=?0;
}?
不然呢?if(* str?!='?'?& amp& amp?*str?!=?'\0')
{
旗幟?=1;
}
str++;
}
回歸?(數數?==?1?0?:?計數);
}
//?回歸?-1?什麽時候?str1?是嗎?null?還是?str1?是嗎?亂丟垃圾?比?str2
//?回歸?1?什麽時候?str2?是嗎?null?還是?str2?是嗎?亂丟垃圾?比?str2
//?回歸?0?什麽時候?str1?是嗎?平等?作為什麽?str2
int?compare _ str(char *?str1,?char*?str2)
{
if(str 1?==?0)?回歸?-1;
if(str 2?==?0)?回歸?1;
什麽時候?(?*str1?& amp& amp?*str2)
{
if(* str 1?& gt?*str2)
{
回歸?1;
}
不然呢?如果?(*str1?& lt?*str2)
{
回歸?-1;
}
str 1++;
str 2++;
}
if(* str 1?& gt?*str2)
{
回歸?1;
}
不然呢?如果?(*str1?& lt?*str2)
{
回歸?-1;
}
回歸?0;
}
虛空?主()
{
夏爾。str【200】= { 0 };
gets(str);
int?n?=?split _ str(str);
if(n?& lt?1)
{
printf(“輸入?錯誤!\ n ");
回歸?-1;
}
//printf(“n = % d \ n“,n);
char*?a【n】;//保存?指針?地址
int?我;
for(I = 0;我& ltn;i++)//init?那個?指針?排列
a【I】= 0;
int?指數?=?0;
int?旗幟?=?0;
for(I = 0;我& lt200?||?!str【I】;i++)
{
if(str【I】?!=?'?'?& amp& amp?旗幟?==?0)
{
a【index++】?=?& ampstr【I】;
旗幟?=?1;
}
不然呢?if(str【I】?==?'?')
{
旗幟?=?0;
str【I】=‘\ 0‘;
繼續;
}
}
int?j;
for(I = 0;我& ltn;i++)
for(j = I+1;j & ltn;j++)
if(1?==?compare _ str(a【I】,?))
{
char*?tmp
tmp?=?a【I】;
甲【我】?=?a【j】;
a【j】?=?tmp
}
for(I = 0;我& ltn;i++)
printf(“% s \ n“,a【I】);
}