|
Post by huangno1 on Mar 2, 2017 20:35:54 GMT -8
程式說明
請撰寫 mystrcmp() 比較兩者 C-字串(以 '\0' 字元結尾) 的大小。大小順序依字典順序,先出現者較小。
若傳入的第一個字串較小,回傳負值;若較大,回傳正值;若相等,回傳 0。
例如 mystrcmp("abc", "abcd") 回傳負值;mystrcmp("z", "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"); 回傳正值。
以下程式每次讀入兩個字串,比較兩個字串並輸出其大小關係。反覆直到輸入兩個空字串(直接按下 Enter)為止。
【注意】此程式中不可呼叫標準函式 strcmp()。
#include <stdio.h>
#include <string.h>
int mystrcmp ( char str [ ] , char str1 [ ] )
{
int i = 0 ;
while ( str [ i ] != '\0' )
{
if ( str [ i ] > str1 [ i ] || str1 [ i ] == '\0' )
return 1 ;
if ( str [ i ] < str1 [ i ] )
return -1 ;
i ++ ;
}
if ( str1 [ i ] == '\0' )
return 0 ;
else
return -1 ;
}
int main()
{
char str[2][100];
do
{
gets(str[0]);
gets(str[1]);
if (mystrcmp(str[0], str[1]) > 0)
{
printf(">\n");
}
else if (mystrcmp(str[0], str[1]) < 0)
{
printf("<\n");
}
else
{
printf("=\n");
}
}
while (
strlen ( str [ 0 ] ) != 0 || strlen ( str [ 1 ] ) != 0
);
return 0;
}
|
|
|
Post by IsacaXiow on Feb 13, 2022 8:01:07 GMT -8
|
|
|
Post by IsacaXiow on Feb 13, 2022 8:02:20 GMT -8
|
|
|
Post by IsacaXiow on Feb 13, 2022 8:03:24 GMT -8
|
|
|
Post by IsacaXiow on Feb 26, 2022 11:14:52 GMT -8
|
|
|
Post by IsacaXiow on Feb 26, 2022 11:15:42 GMT -8
|
|
|
Post by IsacaXiow on Feb 26, 2022 11:16:27 GMT -8
|
|