gpt4 book ai didi

c++ - while 构造排序整数 [C++]

转载 作者:行者123 更新时间:2023-11-30 04:00:53 24 4
gpt4 key购买 nike

谁能告诉我为什么这不起作用?我正在尝试使用 while 循环对五个整数进行排序,但输出只给出了我按输入顺序输入的数字。我是编程新手,我真的不知道自己在做什么。

这是我的代码:

#include <iostream>
using namespace std;

int main()
{
int n1, n2, n3, n4, n5, temp, i;

cout << "Enter five numbers to be sorted: " <<'\n';
cin >> n1 >> n2 >> n3 >> n4 >> n5;

while(i<4) {
i++;
if(n1>n2) {
temp = n1;
n1 = n2;
n2 = temp;
}
if(n2>n3) {
temp = n2;
n2 = n3;
n3 = temp;
}
if(n3>n4) {
temp = n3;
n3 = n4;
n4 = temp;
}
if(n4>n5) {
temp = n4;
n4 = n5;
n5 = temp;
}
}
cout << n1 << " " << n2 << " " << n3 << " " << n4 << " " << n5 << endl;
system("PAUSE");
return(0);
}

最佳答案

您从未初始化 i所以它会导致未定义的行为来测试i<4 ;可能这会导致永远不会进入循环。

将循环更改为 for (int i = 0; i < 4; ++i)并去掉之前定义的 i .

当然,排序逻辑可以通过使用容器来改进很多,而不是有五个单独的 int 变量!

关于c++ - while 构造排序整数 [C++],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26050283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com