字符串比较

    xiaoxiao2021-03-25  85

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

    转载请注明原文地址: https://ju.6miu.com/read-23727.html

    最新回复(0)