C++ 尝试将3个值从最小值到最大值C++;

C++ 尝试将3个值从最小值到最大值C++;,c++,C++,我有一个程序,它把一个人输入的数字相加。 这种情况发生了3次,所以我一共有3次。我遇到的问题是,无论求和结果是什么,我都需要从最大值到最小值排序。(这不是完整的代码,假设求和是经过计算和声明的) #包括 #包括 使用名称空间std; 字符串firstName1,lastName1;//用户名的输入和输出 字符串firstName2,lastName2; 字符串firstName3,lastName3; //从头到尾 如果(总和>总和2>总和3) { C++中的CUT< P>,语法和> SUMY2

我有一个程序,它把一个人输入的数字相加。 这种情况发生了3次,所以我一共有3次。我遇到的问题是,无论求和结果是什么,我都需要从最大值到最小值排序。(这不是完整的代码,假设求和是经过计算和声明的)

#包括
#包括
使用名称空间std;
字符串firstName1,lastName1;//用户名的输入和输出
字符串firstName2,lastName2;
字符串firstName3,lastName3;
//从头到尾
如果(总和>总和2>总和3)
{

C++中的CUT< P>,语法<代码>和> SUMY2> > SUMY3不会按你的假设进行评估。它相当于<代码>(SUM>SUMI2)> SUMY3/<代码> 如果
sum
大于
sum_2
sum>sum_2
将计算为true。然后,该布尔值将转换为整数1,并与
sum_3
进行比较

要完成您想要完成的任务,请尝试:

if (sum > sum_2 && sum_2 > sum_3)

使用助手交换功能:

void swap( int *a, int *b )
{
    int temp = *a;
    *a = *b;
    *b = temp;
}
并对其进行排序:

int sums[3] = { sum, sum_2, sum_3 };

for ( int i = 0; i < 3; ++i )
    for ( int j = 0; j < i; ++j )
        if ( sums[j] < sums[i] ) 
            swap( &sums[j], &sums[i] );

cout << "Total for" << " " << firstName1 << " " << lastName1 << " " << "$" << sums[0] << ".00" << endl;
cout << "Total for" << " " << firstName2 << " " << lastName2 << " " << "$" << sums[1] << ".00" << endl;
cout << "Total for" << " " << firstName3 << " " << lastName3 << " " << "$" << sums[2] << ".00" << endl;
int sums[3]={sum,sum_2,sum_3};
对于(int i=0;i<3;++i)
对于(int j=0;jint sums[3] = { sum, sum_2, sum_3 };

for ( int i = 0; i < 3; ++i )
    for ( int j = 0; j < i; ++j )
        if ( sums[j] < sums[i] ) 
            swap( &sums[j], &sums[i] );

cout << "Total for" << " " << firstName1 << " " << lastName1 << " " << "$" << sums[0] << ".00" << endl;
cout << "Total for" << " " << firstName2 << " " << lastName2 << " " << "$" << sums[1] << ".00" << endl;
cout << "Total for" << " " << firstName3 << " " << lastName3 << " " << "$" << sums[2] << ".00" << endl;