阅读 70

算法提高 11-1实现strcmp函数

问题描述

  自己实现一个比较字符串大小的函数,也即实现strcmp函数。函数:intmyStrcmp(char *s1,char *s2)按照ASCII顺序比较字符串s1与s2。若s1与s2相等返回0,s1>s2返回1,s1
"A"<"B"
"a">"A"
"computer">"compare"
"hello"<"helloworld"

样例输出

image.png

数据规模和约定

  字符串长度<100。

参考代码

 import java.util.Scanner; //实现strcmp函数 public class Main { public static void main(String[] args) { // TODO Auto-generated method stub Scanner sc=new Scanner(System.in); String s1=sc.next(); String s2=sc.next(); char a[]=s1.toCharArray(); char b[]=s2.toCharArray(); int  num=0; if(a.length<b.length){ for(int i=0;i<a.length;i++){ if(a[i]>b[i]){ System.out.println("-1"); break; }else if(a[i]<b[i]){ System.out.println("1"); break; }else{ num++; } if(num==a.length){System.out.println("-1");} } } if(a.length>b.length){ for(int i=0;i<b.length;i++){ if(a[i]>b[i]){ System.out.println("-1"); break; }else if(a[i]<b[i]){ System.out.println("1"); break; }else{ num++; } if(num==b.length){System.out.println("1");} } } if(a.length==b.length){ for(int i=0;i<a.length;i++){ if(a[i]>b[i]){ System.out.println("-1"); break; }else if(a[i]<b[i]){ System.out.println("1"); break; }else{ num++; } if(num==a.length){System.out.println("0");} } } } } 复制代码

注:此题是C语言,说用什么指针,当时也不懂,用java格式中最笨的方式做出来的,原理还是挺简单的,就是用ASCII码比大小解决的


作者:陈言必行
链接:https://juejin.cn/post/7019642599010992142


文章分类
后端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐