Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
对三个整数值进行排序的程序 我试图从书中做练习:编程——用C++(第二版)< /P>的原理和实践_C++ - Fatal编程技术网

对三个整数值进行排序的程序 我试图从书中做练习:编程——用C++(第二版)< /P>的原理和实践

对三个整数值进行排序的程序 我试图从书中做练习:编程——用C++(第二版)< /P>的原理和实践,c++,C++,编写一个程序,提示用户输入三个整数值,然后输出这些数值 以逗号分隔的数字顺序。因此,如果用户输入值10 4 6,则输出 应该是4,6,10。如果两个值相同,则应将它们一起排序。因此,输入 4应该给出4,4,5 这就是我所做的: #include "std_lib_facilities.h" int main(){ int val1 = 0; int val2 = 0; int val3 = 0; cout << "input 3 integers values with spac

编写一个程序,提示用户输入三个整数值,然后输出这些数值 以逗号分隔的数字顺序。因此,如果用户输入值10 4 6,则输出 应该是4,6,10。如果两个值相同,则应将它们一起排序。因此,输入 4应该给出4,4,5

这就是我所做的:

#include "std_lib_facilities.h"

int main(){
int val1 = 0;
int val2 = 0;
int val3 = 0;

cout << "input 3 integers values with spaces between them\n";
cin >> val1 >> val2 >> val3; 

int bigger = 0;
int middle = 0;
int smallest = 0;

    if(val1 >= val2 && val1 >= val3) {
     bigger = val1;
    }
    if (val1 <= val2 && val1 <= val3) {
     smallest = val1;
    }
    else {
    middle = val1;
    }


    if(val2 >= val1 && val2 >= val3) {
         bigger = val2;
     }
    if (val2 <= val1 && val2 <= val3) {
         smallest = val2;
     }
    else {
    middle = val2;
    }


    if(val3 >= val1 && val3 >= val2) {
             bigger = val3;
    }
    if (val3 <= val1 && val3 <= val2) {
             smallest = val3;
         }
    else {
             middle = val3;
    }
cout << smallest << " " << middle << " " << bigger << '\n';
return 0;
}
#包括“std_lib_facilities.h”
int main(){
int val1=0;
int val2=0;
int val3=0;
cout>val1>>val2>>val3;
int=0;
int-middle=0;
int=0;
如果(val1>=val2&&val1>=val3){
较大=1;
}
if(val1=val3){
较大=2;
}
if(val2=val2){
更大=val3;
}

if(val3类似的方法应该有效。将值写入数组,排序,然后打印

#include <iostream>
#include <algorithm>

using namespace std;

int main()
{
    int intArray[3] = {0, 0, 0};

    cout << "input 3 integers values with spaces between them\n";
    cin >> intArray[0] >> intArray[1] >> intArray[2]; 

    //Since you are using std you should have this sort method
    sort(intArray, intArray + 3);

    cout << intArray[0] << ", " << intArray[1] << ", " << intArray[2];

    return 0;
}
#包括

#include

程序中的else部分与前面的if语句一起运行。因此,如果第一个if语句运行,而第二个if语句不运行,那么else语句也将运行。 例如,val1=4,val2=5,val3=6。 根据您的代码:

if(val3 >= val1 && val3 >= val2) {
             bigger = val3;
    }
这是真的,所以它设置得更大=6

if (val3 <= val1 && val3 <= val2) {
             smallest = val3;
         }
它设置middle=6。 在所有3种情况下使用if-else梯形图,如下所示:

if(val3 >= val1 && val3 >= val2) {
             bigger = val3;
    }
    else if (val3 <= val1 && val3 <= val2) {
             smallest = val3;
         }
    else {
             middle = val3;
    }
if(val3>=val1&&val3>=val2){
更大=val3;
}

如果(val3我也在做同样的练习,我想出了这个解决方案

#include "std_lib_facilities.h"
int main()
{
    int a,b,c,temp;
    cout<<"enter three values\n";
    cin>>a>>b>>c;
    if(a>b && a>c)
    {
        temp=c;
        c=a;
        a=temp;
        if(a>b)
        {
            temp=b;
            b=a;
            a=temp;
        }
    }
    if(b>a && b>c)
    {
        temp=c;
        c=b;
        b=temp;
    }
    cout<<a<<','<<b<<','<<c;    
}
#包括“std_lib_facilities.h”
int main()
{
内部a、b、c、温度;
couta>>b>>c;
如果(a>b&&a>c)
{
温度=c;
c=a;
a=温度;
如果(a>b)
{
温度=b;
b=a;
a=温度;
}
}
如果(b>a&&b>c)
{
温度=c;
c=b;
b=温度;
}

couttry使用(if…else if…else)if(val3>=val1&&val3>=val2){biger=val3;}else if(val3)使用所有警告和调试信息(例如
g++-Wall-Wextra-g
)编译。然后使用调试器(例如
gdb
)一步一步地运行你的程序以了解你的错误。谢谢MatejKr,它工作得很好!我会记住Basile,谢谢Hanks,但我现在不知道数组是什么,所以我使用我知道的!抱歉,我不认为你可能只能使用变量。不管怎样,正如其他人指出的那样,你在if状态中缺少了'else'我还可以看到你在打印输出中遗漏了逗号:谢谢你,很好的解释!
#include "std_lib_facilities.h"
int main()
{
    int a,b,c,temp;
    cout<<"enter three values\n";
    cin>>a>>b>>c;
    if(a>b && a>c)
    {
        temp=c;
        c=a;
        a=temp;
        if(a>b)
        {
            temp=b;
            b=a;
            a=temp;
        }
    }
    if(b>a && b>c)
    {
        temp=c;
        c=b;
        b=temp;
    }
    cout<<a<<','<<b<<','<<c;    
}