#包含“stdio.h”
int strcmp(char *s1,char *s2)
{
int i=0,j = 0;
while(*(s1+i)!= ' \ 0 ' & amp& amp*(s2+j)!='\0')
{
if(*(s 1+I)& gt;*(s2+i))
返回1;
if(*(s 1+I)& lt;*(s2+i))
return-1;
i++,j++;
}
if(*(s1+i)=='\0 ')
{
if(*(s2+j)=='\0 ')
返回0;
其他
return-1;
}
返回1;
}
void strcpy(char *s1,char *s2)
{
int I = 0;
while(*(s2+i)!='\0')
{
*(s 1+I)= *(S2+I);
i++;
}
*(s 1+I)= ' \ 0 ';
}
void main()
{
char s1[50],s2[50],S3[50];
char s[50];
Printf("輸入三個字符串:\ n ");
gets(s 1);
獲取(S2);
獲取(S3);
if(strcmp(s1,s2)>0)
{
strcpy(s,s 1);
strcpy(s1,S2);
strcpy(s2,s);
}
if(strcmp(s1,s3)>0)
{
strcpy(s,s 1);
strcpy(s1,S3);
strcpy(s3,s);
}
if(strcmp(s2,s3)>0)
{
strcpy(s,S2);
strcpy(s2,S3);
strcpy(s3,s);
}
Printf("降序輸出:\ n ");
printf("%s\n%s\n%s\n ",s1,s2,S3);
}
請註意,我刪除了string.h,所以這裏的strcpy,
Strcmp都是自己寫的,不是庫函數。
當您輸入壹個字符串時,它以壹個空白字符結束。回車,空格可以。不需要特別輸入' \ 0 ';
另外樓主的方案是可以實現的,我測試過。
字符串大小比較是指按字典排序,而不是按長度排序。我想妳應該知道。
例如:
倪好
鎳
角
排序後
角
鎳
倪好