函数MyStrCmp的原型是:int MyStrCmp( char
*s1,char *s2 ),其功能是比较两个字符串s1和s2的大小。请编写函数MyStrCmp(不能使用标准库函数函数strcmp( ))并用相应主函数进行测试。主函数输入字串时,有字符串长度限制提示。
请务必于11月9日10点之前完成,才能得到分数。
#include<stdio.h>
#include<string.h>
int MyStrCmp( char *s1,char *s2 );
int main()
{
char s1[30], s2[30];
gets(s1);
gets(s2);
printf("%d\n", MyStrCmp(s1, s2));
return 0;
}
int MyStrCmp(char * s1, char * s2)
{
int flag = 0;//0表示相等,1表示s1大于s2,-1表示s1小于s2
int minLength = 0; //较短串的长度
int i = 0;
minLength = strlen(s1) >= strlen(s2) ? strlen(s1) : strlen(s2);
for(i = 0; i < minLength; i++)
{
if(s1[i] != s2[i])
{
if(s1[i] > s2[i])
flag = 1;
else
flag = -1;
break;
}
else
continue;
}
return flag;
}
#include<string.h>
int MyStrCmp( char *s1,char *s2 );
int main()
{
char s1[30], s2[30];
gets(s1);
gets(s2);
printf("%d\n", MyStrCmp(s1, s2));
return 0;
}
int MyStrCmp(char * s1, char * s2)
{
int flag = 0;//0表示相等,1表示s1大于s2,-1表示s1小于s2
int minLength = 0; //较短串的长度
int i = 0;
minLength = strlen(s1) >= strlen(s2) ? strlen(s1) : strlen(s2);
for(i = 0; i < minLength; i++)
{
if(s1[i] != s2[i])
{
if(s1[i] > s2[i])
flag = 1;
else
flag = -1;
break;
}
else
continue;
}
return flag;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答 推荐于2018-04-23
#include<stdio.h>
#define N 100
int MyStrCmp(char * s1, char * s2){
int ret, i=0;
while(s1[i]!='\0' && s2[i]!='\0' && s1[i]==s2[i])
i++;
if(s1[i]==0 && s2[i]==0)
ret=0; //相等
else if(s1[i]==0)
ret=-1; //串s1小于串s2
else if(s2[i]==0)
ret=1; //串s1大于串s2
else if(s1[i]>s2[i])
ret=1; //串s1大于串s2
else
ret=-1; //串s1小于串s2
return ret;
}
int main(){
char s1[N], s2[N];
gets(s1);
gets(s2);
printf("%s\n%s\n",s1,s2);
printf("%d\n", MyStrCmp(s1, s2));
return 0;
}
#define N 100
int MyStrCmp(char * s1, char * s2){
int ret, i=0;
while(s1[i]!='\0' && s2[i]!='\0' && s1[i]==s2[i])
i++;
if(s1[i]==0 && s2[i]==0)
ret=0; //相等
else if(s1[i]==0)
ret=-1; //串s1小于串s2
else if(s2[i]==0)
ret=1; //串s1大于串s2
else if(s1[i]>s2[i])
ret=1; //串s1大于串s2
else
ret=-1; //串s1小于串s2
return ret;
}
int main(){
char s1[N], s2[N];
gets(s1);
gets(s2);
printf("%s\n%s\n",s1,s2);
printf("%d\n", MyStrCmp(s1, s2));
return 0;
}
第2个回答 2014-11-02
BOOL MyStrCmp(char* a,char* b)
{
return a[0]>=b[0];
}本回答被网友采纳
{
return a[0]>=b[0];
}本回答被网友采纳