首页 > 编程知识 正文

c函数重载,c程序由什么函数

时间:2023-05-03 15:21:54 阅读:262952 作者:51

编写4个重载函数,分别求整数和字符的最小值(10分)

题目

编写四个重载函数,函数求对应参数中的最小值并返回该值。

四个函数的原型是:

char min( char c1, char c2 );
char min( char c1, char c2, char c3 );
int min( int i1, int i2);
int min( int i1, int i2, int i3);

在主函数中定义一些变量并赋初值(使用C++11的auto或者列表初始化方法)

用第1个 min 函数比较字符 ‘[’ 和字符 ‘N’ 并输出较小的字符;

用第2个 min 函数比较字符 ‘G’ 、字符 ‘9’ 和字符 ‘*’ 并输出较小的字符;

用第3个 min 函数比较整数 -42 与 0 并输出较小的整数 (注意第一个整数是负值)

用第4个 min 函数比较整数 42 、0 和 std::numeric_limits::min() 并输出较小的整数

std::numeric_limits::min() 是C++系统头文件中的成员。所以你编写代码时需要包含这个头文件。

由于中国大学MOOC的OJ系统使用的是GCC4.7这个古老的编译器,因此,你不能在声明变量的时候同时使用auto和列表初始化,否则这个编译器会报告很多错误。

也就是,你不能写类似下面的代码:
auto x {1}, y{2}; cout << min(x, y);

emmm,我不管了,这份代码没过oj

输入格式:

输出格式:

用单个空格分隔开的4个数据

输入样例:

输出样例:

N * -42 -2147483648

注意:上述输出样例中,结尾没有空格,也没有换行符

注意:

在C++标准库头文件中,有一套 min()和max()函数。你在编程序时,不要包含该头文件,也不要使用

using namespace std;

这种会污染当前代码默认名字空间的语句

#include <iostream>#include <limits>char min(char c1,char c2);char min(char c1,char c2,char c3);int min(int i1,int i2);int min(int i1,int i2,int i3);int main(){ std::cout << min('[','N') << " " << min('G','9','*') << " " << min(-42,0) << " " << min(-42,0, std::numeric_limits<int>::min()); return 0;}char min(char c1, char c2){ return c1 > c2 ? c2 : c1;}char min(char c1,char c2,char c3){ return c1 > min(c2,c3) ? min(c2,c3) : c1;}int min(int i1,int i2){ return i1 > i2 ? i2 : i1;}int min(int i1,int i2,int i3){ return i1 < min(i2,i3) ? i1 : min(i2,i3);}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。