独立实现标准字符串库的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); } 还有一个方法是一个字符一个字符的对比,由于时间关系,此代码还未写出。