首页 > 试题广场 >

编写程序,将两个字符串S1和S2进行比较,若S1S2,则输

[问答题]

编写程序,将两个字符串S1和S2进行比较,若S1>S2,则输出一个正数;若S1=S2,则输出0;若S1<S2,则输出一个负数。不能使用strcmp函数。

// mystrcmp.c.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include"stdio.h"

int mystrlen(char* a)
{
 int i=0;
 int n=0;
 while(a[i]!='\0')
 {
  ++i;
  ++n;
  
 }
 return n;
}
int mystrcmp(char* s,char* t)
{
int i,comlen;
int slen=mystrlen(s);
int tlen=mystrlen(t);

if(slen<tlen)
comlen=slen;
else comlen=tlen;
for(i=0;i<comlen;i++)
{
if(s[i]<t[i]) return -1;
else if(s[i]>t[i]) return 1;
else if(s[i]=t[i]) continue;//可以省略
}
if(slen==tlen)
 return 0;
else if(slen<tlen)
 return -1;
    else 1;}

int _tmain(int argc, _TCHAR* argv[])


 char a[4]={'AaD'};
 char b[4]={'a'};
 int c=mystrcmp(a,b);
 printf("%d",c);

 

 return 0;
}


发表于 2017-10-17 20:28:30 回复(1)