原题:不调用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; }