题解 | #比较字符串大小#

比较字符串大小

https://www.nowcoder.com/practice/963e455fdf7c4a4a997160abedc1951b

#include <iostream>
using namespace std;

int mystrcmp(const char* src, const char* dst);
int mystrlen(const char*src);

int main() {

    char s1[100] = { 0 };
    char s2[100] = { 0 };

    cin.getline(s1, sizeof(s1));
    cin.getline(s2, sizeof(s2));

    int ret = mystrcmp(s1, s2);

    cout << ret << endl;

    return 0;
}

int mystrcmp(const char* src, const char* dst) {

    // write your code here......
    int src_len = mystrlen(src);
    int dst_len = mystrlen(dst);
    if (src_len > dst_len)
        return 1;
    else if (src_len < dst_len)
        return -1;
    else
    {
        while (*src != '\0')
        {
            if (*src > *dst)
                return 1;
            else if (*src < *dst)
                return -1;
            else
            {
                ++src;
                ++dst;
            }
        }
        return 0;
    }
    
}
int mystrlen(const char*src)
{
    int cnt = 0;
    while (*src++ != '\0')
    {
        ++cnt;
    }
    return cnt;
}

自定义了mystrlen函数,对于mystrcmp

+ 如果字符串src长度小于字符串dst,输出-1

+ 如果字符串src长度大于字符串dst,输出1

+ 如果字符串src长度等于字符串dst,逐个字符比较,小于-1,大于1,全部等于0

C++题解 文章被收录于专栏

记录在牛客网用C++刷题的题解思路

全部评论

相关推荐

10-27 17:26
东北大学 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务