资源限制
内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s
在C语言中,有一个strcmp函数,其功能是比较两个字符串s1和s2。请编写一个你自己的字符串比较函数my_strcmp,来实现strcmp函数的类似功能。如果s1=s2,则返回0;否则返回s1 与s2 第一个不同字符的差值(如果s1<s2,该差值是一个负数;如果s1>s2,该差值是一个正数)。编写测试程序,输入两个长度小于1000的字符串(可能包含有空格,且长度不一定相等),然后调用my_strcmp函数来进行比较,并输出返回结果。
输入:
aBcDefgf
aacdef
输出:
-31
#include<iostream>
#include<string.h>
using namespace std;
const int N=1005;
char s1[N],s2[N];
int my_strcmp(char *s1,char *s2){
int i=0,j=0;
while(i<strlen(s1)&&j<strlen(s2)){
if(s1[i]!=s2[j]) return s1[i]-s2[i];
else{
i++;
j++;
}
}
if(i<strlen(s1)) return s1[i];
if(j<strlen(s2)) return 0-s2[j];
if(i==strlen(s1)&&j==strlen(s2)) return 0;
}
int main(){
char c;
c=getchar();
int cnt=0;
while(c!='\n'){
s1[cnt++]=c;
c=getchar();
}
char c1;
c1=getchar();
int cnt1=0;
while(c1!='\n'){
s2[cnt1++]=c1;
c1=getchar();
}
cout<<my_strcmp(s1,s2)<<endl;
return 0;
}