如何用c++程序实现求多个数中的最大值和最
答案:2 悬赏:0 手机版
解决时间 2021-04-05 18:51
- 提问者网友:山高云阔
- 2021-04-05 11:20
如何用c++程序实现求多个数中的最大值和最
最佳答案
- 五星知识达人网友:不如潦草
- 2021-04-05 11:36
#include
#include
int GetMaxMin(int &_max, int &_min, int num, ...)
{
va_list ap;
int *nbs = new int[num];
va_start(ap, num);
for (int i = 0; i < num; i++)
{
nbs[i] = va_arg(ap, int);
}
va_end(ap);
_max = _min = nbs[0];
for (int i = 1; i < num; i++)
{
if (_max < nbs[i])
_max = nbs[i];
else if (_min > nbs[i])
_min = nbs[i];
}
return 0;
}
int main()
{
int _max1 = 0, _min1 = 0, _max2 = 0, _min2 = 0;
GetMaxMin(_max1, _min1, 5, 2, -4, 5, 3, 8);
GetMaxMin(_max2, _min2, 9, 2, -4, 5, 3, 8, 9, 10, -22, 30);
printf("max1: %d, min1: %d\nmax2: %d, min2: %d\n", _max1, _min1, _max2, _min2);
return 0;
}
如果想换成通用的,int改成模板就可以了
#include
int GetMaxMin(int &_max, int &_min, int num, ...)
{
va_list ap;
int *nbs = new int[num];
va_start(ap, num);
for (int i = 0; i < num; i++)
{
nbs[i] = va_arg(ap, int);
}
va_end(ap);
_max = _min = nbs[0];
for (int i = 1; i < num; i++)
{
if (_max < nbs[i])
_max = nbs[i];
else if (_min > nbs[i])
_min = nbs[i];
}
return 0;
}
int main()
{
int _max1 = 0, _min1 = 0, _max2 = 0, _min2 = 0;
GetMaxMin(_max1, _min1, 5, 2, -4, 5, 3, 8);
GetMaxMin(_max2, _min2, 9, 2, -4, 5, 3, 8, 9, 10, -22, 30);
printf("max1: %d, min1: %d\nmax2: %d, min2: %d\n", _max1, _min1, _max2, _min2);
return 0;
}
如果想换成通用的,int改成模板就可以了
全部回答
- 1楼网友:怀裏藏嬌
- 2021-04-05 12:30
最大值和最小值?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯