0

目前我的迷你算法看起来像这样。

int a,b,c,max;
cout <<"Enter 3 digits: \t";
cin>>a>>b>>c;
if(a>b && a>c)
    max=a;
else if(b>c && b>a)
    max=b;
else
    max=c;
cout <<"max: "<<max<<endl;

它有效,但有没有其他方法可以找到最多 3 位数字?

4

6 回答 6

4

在 C++11 中,您可以这样做:

int max_value = std::max({a, b, c});

它使用作为参数的std::max重载std::initializer_list<T>。这意味着您可以传递超过 3 个参数

int max_value = std::max({1,2,3,4,5,6,98,10});

演示:http: //ideone.com/FLifw

于 2012-06-28T12:02:41.987 回答
2

对于

int max = std::max( std::max( a, b ), c );

对于您可以编写自己的max函数或使用MAX宏(标准中未定义,但您的编译器可能“支持”)

于 2012-06-28T11:57:30.707 回答
2
max = a; 
if(b>max) max = b;
if(c>max) max = c;

这行得通吗?

于 2012-06-28T11:58:11.107 回答
0

在 C++ 中,您可能应该使用std::max()

const int max_value = std::max(std::max(a, b), c);
于 2012-06-28T11:57:57.097 回答
0
int max=a>b?(a>c?a:c):(b>c?b:c);

或者

printf("greatest no: %d"(a>b)?((a>c)?a:c):((c>b)?c:b)); 
于 2012-06-28T12:04:35.263 回答
0
//Find Maximum of 7 integer Number
#include<iostream>
using namespace std;
int main()
{
//Declaration   
int a,b,c,d,e,f,g,max;
    cout<<"Enter Values : ";
    cin>>a>>b>>c>>d>>e>>f>>g;
    max=a;
    if(b>max)
        max=b;
    if(c>max)
        max=c;
    if(d>max)
        max=d;
    if(e>max)
        max=e;
    if(f>max)
        max=f;
    if(g>max)
        max=g;
    cout<<"Maximum is : "<<max;
    return 0;
}
于 2016-09-07T13:16:37.347 回答