自定义函数strcomp(),实现两个字符串的比较

152 阅读1分钟

Description
编写函数strcomp(char *s1, char *s2),实现两个字符串的比较,返回值为1、0或-1,分别表示s1>s2 , s1=s2 , s1<s2
Input
多组测试数据,每组输入两个字符串(字符串长度小于80)。
Output
根据字符串的大小关系,输出1、0或-1

Sample Input
china
chinese
world
hello
sea
sea

Sample Output
-1
1
0
#include<stdio.h>
//strcmp函数进行比较
int strcmp(char *str1,char *str2)
{
    if(str1!=NULL && str2!=NULL)
    {
        while(*str1++ !='\0' && *str2++ !='\0')
        {
            if(*str1>*str2) 
            return 1;
            else if(*str1<*str2) 
            return -1;
            else
            continue;
        }
    //如果两个都为空,直接返回0
    if((*str1 == '\0') && (*str2 == '\0')) 
    return 0; 
    //如果前一个为空后一个不为空,s1<s2,返回-1
    else if((*str1 == '\0') && (*str2 != '\0')) 
    return -1;
    //前一个不为空后一个为空,s1>s2,返回1
    else if((*str1 != '\0') && (*str2 == '\0')) 
    return 1;
    //只剩下s1=s2的情况
    else return 0;
    }
}
 
int main()
{
    char a[100],b[100];
    //gets函数获取字符串
    while(gets(a)!=NULL)
    {
        gets(b);
        printf("%d\n",strcmp(a,b));
    }
    return 0;
}