當前位置:成語大全網 - 書法字典 - C語言,在C++環境下,用指針運行“輸入三個字符串,按從小到大的順序輸出”的方法,求指教~ ~

C語言,在C++環境下,用指針運行“輸入三個字符串,按從小到大的順序輸出”的方法,求指教~ ~

其實stcpy()和strcmp()都是指針實現的函數。這裏我定義了strcpy()和strcmp()函數。看看他們的指針實現。

#包含“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 ';

另外樓主的方案是可以實現的,我測試過。

字符串大小比較是指按字典排序,而不是按長度排序。我想妳應該知道。

例如:

倪好

排序後

倪好