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

比较字符串大小

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

#include <iostream>
#include <cstring>
using namespace std;

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

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) {

    //计算src和dst长度
    int len1 = strlen(src);
    int len2 = strlen(dst);
    int a = 0;

    if (len1 > len2) {
        a = 1;
    
    }else if (len1 < len2) {
        a = -1;
    }


    int i = 0, j = 0;
    
    while (i < len1 && j < len2) {
        //如果src当前字符小于dst,说明src小于dst,返回-1
        if (src[i] < dst[j]) {
            a = -1;
            break;
        }
        //如果src当前字符大于dst,说明src大于dst,返回1
        else if (src[i] > dst[j]) {
            a = 1;
            break;
        }
        //如果src当前字符等于dst,两指针后移
        else {
            i++;
            j++;
        }
    }

    return a;

}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 12:04
毕业生招你惹你了,问一个发薪日来一句别看网上乱七八糟的你看哪个工作没有固定发薪日扭头就取消了面试就问了一句公司都是这个态度吗还搞上人身攻击了...
程序员小白条:呃呃呃,都还没面试,我都不会问这么细,何况通不通过,去不去都另说,你没实力和学历的话,在外面就这样,说实话没直接已读不回就不错了,浪费时间基本上
点赞 评论 收藏
分享
06-20 19:40
中原工学院 Java
网络存储:十几天不会让你拉人办卡就结束了吧?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务