标题:字符串比较

我们需要一个新的字符串比较函数compare(s1, s2).
对这个函数要求是:
1. 它返回一个整数,表示比较的结果。
2. 结果为正值,则前一个串大,为负值,后一个串大,否则,相同。
3. 结果的绝对值表示:在第几个字母处发现了两个串不等。 下面是代码实现。对题面的数据,结果为:
-3
5 仔细阅读源程序,填写划线位置缺少的代码。 -------------------------------------------------
Java语言代码: static int compare(String s1, String s2)
{
if(s1==null && s2==null) return 0;
if(s1==null) return -1;
if(s2==null) return 1; if(s1.isEmpty() && s2.isEmpty()) return 0;
if(s1.isEmpty()) return -1;
if(s2.isEmpty()) return 1; char x = s1.charAt(0);
char y = s2.charAt(0); if(x<y) return -1;
if(x>y) return 1; int t = compare(s1.substring(1),s2.substring(1));
if(t==0) return 0; return ____________________ ; //填空位置
} public static void main(String[] args)
{
System.out.println(compare("abc", "abk"));
System.out.println(compare("abc", "a"));
System.out.println(compare("abcde", "abcda"));
} ---------------------------
C/C++ 语言代码:
int compare(const char* s1, const char* s2)
{
if(s1==NULL && s2==NULL) return 0;
if(s1==NULL) return -1;
if(s2==NULL) return 1; if(*s1 == 0 && *s2== 0) return 0;
if(*s1 == 0) return -1;
if(*s2 == 0) return 1; if(*s1<*s2) return -1;
if(*s1>*s2) return 1; int t = compare(s1+1,s2+1);
if(t==0) return 0; return __________________________; //填空位置
} int main()
{
printf("%d\n", compare("abc","abk"));
printf("%d\n", compare("abc","a"));
printf("%d\n", compare("abcde","abcda"));
return 0;
} 注意:
只提交划线部分缺少的代码,不要包含已经存在的代码或符号。
也不要画蛇添足地写出任何注释或说明性文字。 注意选择你所使用的语言。 t < 0 ? (Math.abs(t) + 1) * -1 : (Math.abs(t) + 1)

最新文章

  1. ABP源码分析三十九:ABP.Hangfire
  2. 建立docker私有库(docker registry)(转)
  3. GP调用arctoolbox 以Clip为例
  4. java设计优化--单例模式
  5. PHP值mysql操作类
  6. 01_Spring概述
  7. SharePoint表单和工作流 - Nintex篇(一)
  8. 怎样对CODESOFT中的条形码进行黑白转换
  9. type=INNODB和engine=INNODB的区别
  10. jquery——ajax加载后的内容,单击事件失效
  11. [视频] x264 压缩笔记
  12. UnitOfWork知多少
  13. JavaScript实现段落文本高亮
  14. POJ 2195 Going Home (费用流)
  15. 【九天教您南方cass 9.1】 10 DTM土方计算的四种方法
  16. webpack执行命令参数
  17. jQuery权威指南(第2版) 学习一 jQuery操作DOM
  18. poj 1129 搜索
  19. jdk动态代理与cglib动态代理例子
  20. 微信小程序-wx:for 循环列表

热门文章

  1. Mysql 常用语句实战(3)
  2. C# 委托delegate的基本用法
  3. Django之ORM对象关系模型
  4. drf 生命周期
  5. Xilinx的DocNav文件导航中的文档开头字母缩写都是什么意思?
  6. linux静态网络设置
  7. linux 去除^M 换行符
  8. [ES6系列-05]字符串相关操作更方便
  9. [256个管理学理论]003.鳄鱼法则(Alligator Principle)
  10. 设置Mac终端、pip、Anaconda、PyCharm共用一套环境