gpt4 book ai didi

c - C 中的数组排序

转载 作者:行者123 更新时间:2023-11-30 20:12:25 27 4
gpt4 key购买 nike

我正在尝试对 C 中的数组大小进行排序,在将其发布到此处之前我已经对其进行了一些测试(我已将测试语句留在其中)。我得到了一次正确的答案,但它会将较高的值移动到错误的数组中,即使我使用了 IF 语句。

如果你们运行这个程序,它对您来说是有意义的。

#include <stdio.h>
# define size 3

int sum();

main() {
int a[size] = { 4, 2, 3 };
int temp, i, j, x;

for (j = 0; j < size; j++){

for (i = 1; i < size; i++){
for (x = 0; x < size; x++){
printf("%d", a[x]); //testing statement;
}
printf("\n");
if (a[j] > a[i]){
temp = a[j];
a[j] = a[i];
a[i] = temp;

}

}

}


for (x = 0; x < size; x++){
printf("%d", a[x]);
}
getch();
}

最佳答案

改变

for (i = 1; i < size; i++){

类似于

for (i = j + 1; i < size; i++) {

并且您的排序将正常工作。事实上,您再次使用 if (a[j] > a[i]){ 比较元素,当您将 i 重置为 1

关于c - C 中的数组排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35530968/

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