对三个整数值进行排序的程序 我试图从书中做练习:编程——用C++(第二版)< /P>的原理和实践
编写一个程序,提示用户输入三个整数值,然后输出这些数值 以逗号分隔的数字顺序。因此,如果用户输入值10 4 6,则输出 应该是4,6,10。如果两个值相同,则应将它们一起排序。因此,输入 4应该给出4,4,5 这就是我所做的:对三个整数值进行排序的程序 我试图从书中做练习:编程——用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
#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;
}