蓝桥杯 算法提高 11-1 实现strcmp函数 (C语言实现,指针实现)
问题描述
自己实现一个比较字符串大小的函数,也即实现strcmp函数。函数:int myStrcmp(char *s1,char *s2) 按照ASCII顺序比较字符串s1与s2。若s1与s2相等返回0,s1>s2返回1,s1<s2返回-1。具体来说,两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止(注意'\0'值为0,小于任意ASCII字符)。如:
"A"<"B"
"a">"A"
"computer">"compare"
"hello"<"helloworld"
样例输出
数据规模和约定
字符串长度<100。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<queue>
#include<map>
#include<vector>
#include<stack>
using namespace std;
int myStrcmp(char *s1,char *s2)
{
int num = 0;
while ( !(num = (*s1 - *s2)) && *s1 )
{
++s1;
++s2;
}
if (num==0)
return 0;
else if (num<0)
return -1;
else
return 1;
}
int main()
{
char s1[100],s2[100];
while (~scanf("%s %s",s1,s2))
{
printf("%d\n",myStrcmp(s1,s2));
}
return 0;
}