牛客网基础C++编程-比较字符串大小
描述
编写一个函数 int mystrcmp(const char * src, const char * dst),用于比较两个字符串的大小(自己实现strcmp()函数)。要求如果字符串src大于字符串dst返回 1,小于返回 -1,相等返回 0。
输入描述:
键盘录入 2 个长度小于 100 的字符串
输出描述:
输出调用 mystrcmp() 函数返回的结果
题解:
#include <iostream>
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) {
// write your code here......
while(*dst != '\0' && *src != '\0'){
if((*src)>(*dst)){
return 1;
}
else if((*src)<(*dst)){
return -1;
}
else{
src++;
dst++;}
}
if(*dst != '\0' && *src == '\0')
return -1;
if(*dst == '\0' && *src == '\0')
return 0;
if(*dst == '\0' && *src != '\0')
return 1;
return 0;
}
测试:
- 示例1
输入:hello helloworld
输出:-1 - 示例2
输入:hello hello
输出:0 - 示例3
输入:helloworld hello
输出:1 - 示例4
输入:hallo hello
输出:-1 - 示例4
输入:hello halloo
输出:1