Johnny


私信TA

用户名:algorithms

访问量:18010

签 名:

幸福是奋斗出来的!

等  级
排  名 376
经  验 5175
参赛次数 1
文章发表 29
年  龄 0
在职情况 学生
学  校 武汉科技大学
专  业

  自我简介:

解题思路:

本题要求使用重载的方法来对三组不同数据类型的输入用同一个函数名进行处理后输出相应的结果,本人提供两种语言的解法供大家参考。

C++字符串的比较可以使用string类,比数组指针神马的好用的多,在使用方法上,它和int,char类型一样,可以用来定义变量和函数,但是string并不是C++语言本身具有的基本类型,只是在c++标准库中声明的一个字符串类,用这种类可以定义对象,每一个字符串都是string类型的一个对象,然后可以在比较函数中直接计算大的字符减去小的字符的差值,然后返回后转成整型,即可得到差的绝对值


由于Python由于其没有定义数据类型变量这一说,所以不太依赖重载这个东西,而且python没有char型数据,统一为str类型,因此在第二步没有使用函数而是将字符类型转换ASCII码时使用了ord()函数来做,然后用abs()函数来求两个数的绝对值,两种方法均可以AC。


本人初学python,不足之处还请指教!

注意事项:

参考代码:

//C++

#include<iostream>

#include<string>

using namespace std;

int Compare(int a, int b);

char Compare(char a, char b);

string Compare(string str1, string str2);

int main()

{

int a, b, c, d;

char m, n;

string str1, str2;

cin >> a >> b;

cin >> m >> n;

cin >> str1 >> str2;

cout<<Compare(a, b)<<endl;

cout<<(int)Compare(m, n)<<endl;

cout << Compare(str1, str2) << endl;

return 0;

}

int Compare(int a, int b)

{

if (a > b)

return a;

else

return b;

}

char Compare(char a, char b)

{

if (a > b)

return a-b;

else

return b-a;

}

string Compare(string str1, string str2)

{

if (str1 > str2)

return str1;

else

return str2;

}


#python

def Compare(a,b):

    if a > b:

        return a

    else:

        return b

a,b = map(int,input().strip().split())

c,d = map(str,input().strip().split())

result = abs(ord(c)-ord(d))

e,f = map(str,input().strip().split())

print(Compare(a,b))

print(result)

print(Compare(e,f))


 

0.0分

3 人评分

  评论区

  • «
  • »