赞
踩
题目链接:http://lx.lanqiao.cn/problem.page?gpid=T412
时间限制:1.0s 内存限制:256.0MB
自己实现一个比较字符串大小的函数,也即实现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。
解法一:最简单的方式就是利用string类,可以直接对字符串进行比较。
解法二:手动写函数实现字符串的比较功能。
解法三:调用strcmp函数实现。
#include<iostream>
#include<string>
using namespace std;
int main()
{
string s1,s2;
cin>>s1>>s2;
if(s1>s2)
cout<<1<<endl;
else if(s1==s2)
cout<<0<<endl;
else
cout<<-1<<endl;
return 0;
}
#include<iostream> #include<cstring> #include<cstdio> using namespace std; int myStrcmp(char* s1,char* s2) { int len1=strlen(s1); int len2=strlen(s2); for(int i=0;;i++) { if(s1[i]<s2[i]) { cout<<-1<<endl; break; } if(s1[i]>s2[i]) { cout<<1<<endl; break; } if(s1[i]==s2[i]) { if(len1==len2) { cout<<0<<endl; break; } if(len1>len2) { cout<<1<<endl; break; } if(len1<len2) { cout<<-1<<endl; break; } } } } int main() { char a[105]; char b[105]; gets(a); gets(b); myStrcmp(a,b); return 0; }
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
char s1[105];
char s2[105];
int main()
{
gets(s1);
gets(s2);
int ans=strcmp(s1,s2);
cout<<ans<<endl;
return 0;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。