题目来源链接:https://www.dotcpp.com/oj/problem2008.html

题目讲解链接:http://6o2.cn/1yjJB2

 题目描述

利用函数重载完成三个比较大小的Compare函数,供主函数调用

三个Compare函数分别可以处理两个整数、两个字符、两个字符串的比较。

若两个整数比较:若第一个值大于第二个值,则输出最大的一个

若两个字符比较:输出他们的ASC码差值的绝对值

若两个字符串比较:输出最大的一个字符串

要求这三个函数都叫做Compare函数,利用参数类型不同,用函数重载实现

输入

三行

第一行,两个整数,空格分开

第二行,两个字符,空格分开

第三行,两个字符串,空格分开

输出

三行

第一行最大的一个数

第二行两个字符ASC码差值的绝对值

第三行最大的一个字符串

样例输入
10 20
A a
Dotcpp com

样例输出

20
32
com

题目代码

 1 #include<iostream>
2 using namespace std;

3 int Compare(int a,int b);//比较整型数据大小的函数
4 int Compare(char a,char b); //比较字符型数据大小的函数
5 string Compare(string a,string b);//比较字符串型数据大小的函数
 7 int main()
6 {
7 int m1,n1;
8 cin>>m1>>n1;
9 cout<<Compare(m1,n1)<<endl;
10
11 char m2,n2;
12 cin>>m2>>n2;
13 cout<<Compare(m2,n2)<<endl;
14
15 string m3,n3;
16 cin>>m3>>n3;
17 cout<<Compare(m3,n3)<<endl;
18
19 return 0;
20 }

21 int Compare(int a,int b)//比较整型数据大小的函数
22 {
23 int max1 = a ;
24 if (b > max1) max1=b;
25 return max1;
26 }
27 int Compare(char a,char b)//比较字符型数据大小的函数
28 {
29 int result = int (a) - int(b) ;//强制类型转换得到ASCII码值
30 if(result<0) result = -result;//结果取绝对值
31 return result;
32 }
33 string Compare(string a,string b)//比较字符串型数据大小的函数
34 {
35 if(a<b) return b;
36 else return a;
37 }

注意:

1.strcmp()函数是C风格的字符串函数,只能用于char str[size]; 不适用于string str1;

这里完全可以用C++字符串,直接使用==、>、<判断大小,简洁方便。

2.在C++中获取字符的ASCII码值:

提示:字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放入到储存单元。

做法:定义字符char,输入后把字符强制转换成整数,就是该字符的ASCII码值,即int(char)。

最新文章

  1. K-Means 聚类算法
  2. Spring事务管理----声明式:利用TransactionProxyFactoryBean生成事务代理
  3. word20161213
  4. webapi 中使用 protobuf
  5. sql server 小记——分区表(上)
  6. react-native 问题总结
  7. Fiddler学习之——对Android应用进行抓包
  8. 学渣也要搞 laravel(4)—— 服务 加解密篇
  9. UVA 10163 Storage Keepers(dp + 背包)
  10. laravel5 事务回滚
  11. [置顶] win10 uwp 参考
  12. 到底vuex是什么?
  13. (转载)用VS2012或VS2013在win7下编写的程序在XP下运行就出现“不是有效的win32应用程序“
  14. layui中进行form表单一些问题
  15. CentOS 7.0 下 Python 2.7 升级到 Python 3.5
  16. shiro权限管理入门程序
  17. Django01-Django基础
  18. Only the storage referenced by ptr is modified. No other storage locations are accessed by the call.
  19. 整合多个网络的拓扑结构并降维(Mashup)
  20. SQL注入之Sqli-labs系列第十四关(基于双引号POST报错注入)

热门文章

  1. 关于vue中v-for的键值顺序
  2. &lt;!--[if IE]&gt;&lt;style&gt;&lt;/style&gt;&lt;![endif]--&gt;
  3. vue上拉加载下拉加载
  4. C#多线程下的调优
  5. python---十进制转换成n进制
  6. 记-Golang日志文件读取及写入操作
  7. Pinpoint介绍及docker安装方式
  8. Sqlalchemy异步操作不完全指北
  9. jsp第二周作业
  10. 攻防世界-MISC:glance-50