字符串大小比较

时间:2021-08-05 03:34:30

原题:不调用C语言的任意库函数,实现串比较操作int StrCmp(char *s,char *t),如s与t相等,返回0;s小于t,返回-1;s大于t,返回1。

#include<iostream>
using namespace std;
int StrCmp(char *s,char *t)
{//字符串比较函数
	int i=0;
	while(s[i]==t[i] && s[i]!='\0' && t[i]!='\0')i++;
	if((unsigned char)s[i]==(unsigned char)t[i])
	{//两串相等,返回0
		cout<<"串s与t相等!"<<endl;
		return 0;//s与t相等,返回0
	}
	if((unsigned char)s[i]<(unsigned char)t[i])
	{//串s小于串t,返回-1
		cout<<"串s小于串t!"<<endl;
		return -1;//s小于t,返回-1
	}
	if((unsigned char)s[i]>(unsigned char)t[i])
	{//串s大于串t,返回1
		cout<<"串s大于串t!"<<endl;
		return 1;//s大于t,返回1
	}
}
int main()
{
	char s[20],t[20];
	cout<<"请输入字符串s:";
	cin.getline(s,20);//接收输入串s
	cout<<"请输入字符串t:";
	cin.getline(t,20);//接收输入串t
	StrCmp(s,t);//比较两串
	return 1;
}