独立实现标准字符串库的strcmp函数,即字符串比较函数,从键盘输入两个字符串,按字典序比较大小,前者大于后者输出1,前者小于后者输出-1,两者相等输出0。

样例输入

apple one

样例输出

-1

样例输入

hello he

样例输出

1

样例输入

hello hello

样例输出

0

此题在Java里可以用comperTo方法快速作答:

public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String str1=sc.next();
String str2=sc.next();
int num=str1.compareTo(str2);
if(num<0){
System.out.println(-1);
}
if(num>0){
System.out.println(1);
}
if(num==0){
System.out.println(0);
}
}



也可用普通方法求出,不过较为复杂:

public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String a=sc.next();
char [] cc1=a.toCharArray();
int num1=(int) getSize(cc1, 0, 0);
String b=sc.next();
char [] cc2=b.toCharArray();
int num2=(int) getSize(cc2, 0, 0);
if(num1>num2){
System.out.println(1);
}
if(num1==num2){
System.out.println(0);
}
if(num1<num2){
System.out.println(-1);
}
}
public static long postion (int n){
if(n==1){
return 1;
}
return n*postion(n-1);
}
public static long index(char[] p,char c,int inde){
int size=1;
for (int i = 0; i < inde; i++) {
if(c-p[i]>0){
size++;
}
}
return (c-96)-size;
}

public static long getSize(char[] p,int index,long size){
char c=p[index];
if(index==p.length-1){
return 1;
}
long num=index(p, c, index)*postion(12-index-1);
return num+getSize(p, ++index, num);
}


还有一个方法是一个字符一个字符的对比,由于时间关系,此代码还未写出。