【发布时间】:2021-12-28 08:42:12
【问题描述】:
我有一个包含 16 个数字的数组,需要按降序排序,我尝试以这种方式对它们进行排序,但似乎无法正常工作。
注意:我必须编写一个算法,所以我不能使用任何特殊功能:(
#include <stdio.h>
#include <stdlib.h>
int main() {
int i, temp1, temp2;
int string2[16] = { 0, 4, 2, 5, 1, 5, 6, 2, 6, 89, 21, 32, 31, 5, 32, 12 };
_Bool check = 1;
while (check) {
temp1 = string2[i];
temp2 = string2[i + 1];
if (temp1 < temp2) {
string2[i + 1] = temp1;
string2[i] = temp2;
i = 0;
} else {
i++;
if (i = 15) {
check = !check;
}
}
}
return 0;
}
我知道这对你们大多数人来说都是非常基本的东西,但任何见解都非常感谢!
【问题讨论】:
-
“什么”不起作用?请在帖子中明确指出问题。 “似乎无法让它工作”真的很模糊。
-
在线和文献中大约有五十亿个排序示例。
-
_Bool是为语言实现保留的标识符。你是故意用的吗? -
顺便说一句:
_Bool在 C++ 程序中是一件奇怪的事情(你的书肯定没有提到它),而“string2”是整数数组的一个非常奇怪的名称。 -
听从你的警告。更具体地说,以最大警告级别编译(-Wall 与 gcc,/W4 与 MSVC)并消除或理解警告。