# include & ltstring.h & gt
int main()
{
int j,k,I,t,n;
char s[10][10],b[10][10];
for(I = 0;我& lt10;i++)
{
scanf("%s ",s[I]);
}?
n = strlen(s[1]);
k = 0;
for(I = 0;我& lt9;i++)
{?
for(j = 0;j & lt9-I;j++)
if(strcmp(s[j],s[j+1])& gt;0)
{
for(k = 0;k & ltn;k++)
b[j][k]= s[j][k];
for(k = 0;k & ltn;k++)
s[j][k]= s[j+1][k];
for(k = 0;k & ltn;k++)
s[j+1][k]= b[j][k];
}
}?
for(I = 0;我& lt10;i++)
{
printf("%s ",s[I]);
}
返回0;
}
操作效果:
擴展數據:
scanf功能的使用:
Scanf(“輸入控制器”,輸入參數);
功能:將鍵盤輸入的字符轉換成輸入控制符號中指定格式的數據,然後存儲在壹個以輸入參數的值為地址的變量中。
當使用scanf()函數以%s格式讀取的數據不能包含空白時,所有空白都被視為數據結束的標誌。所以問題中函數的輸出值只是空格前的部分。
如果希望輸出所有數據,包括空格,可以使用gets()函數讀入數據。gets()函數的作用是讀取字符串並將其存儲在指定的字符數組中,當遇到換行符或文件結束符時結束讀取。換行符不作為讀取字符串的內容使用,讀取的換行符轉換成字符串結束標誌' \0 '。