【发布时间】:2019-03-29 11:19:13
【问题描述】:
我想使用“反向冒泡排序”对 12 个整数进行排序(我们称之为“溺水斧排序”)。我的功能对我来说看起来不错,但出了点问题。
错误:输入了我的 12 个随机数后,我没有打印出结果,而是我的编译器停止并且不再继续。
谁能帮忙?
代码:
#include<math.h>
#include<math.h>
void array_clean(int a[11]) //just an array cleaner
{
for(int i=0; i<12; i++)
{
a[i] = a[i]&&0; // smth && 0 = 0 anyway
}
}
void axe_sort(int a[11]) //drowning-axe sort function
{
int place = 0;
for(int i=0; i<12; i++)
{
for(int j=0; j<12; j++)
{
if(a[j]<a[j+1])
place=a[j];
a[j] = a[j+1];
a[j+1] = place;
}
}
}
int main(void)
{
int array[11]; //declaring an integer array;
array_clean(& array[11]); // giving user-filed array to a cleaner function
printf("Enter 12 random integers you'd like to sort: ");
for(int m=0; m<12; m++)
{
scanf("%d", &array[m]); //letting user to fill an array
}
axe_sort(&array[11]); //sorting an array via our axe_sort function
for(int m=0; m<12; m++)
{
printf("%d", array[m]); //printing the sorted array
}
return 0;
}
【问题讨论】:
-
如果你的编译器停止并且没有继续运行,它会给你编译器错误,告诉你它为什么停止。为什么您的帖子中没有这些消息?
-
是什么让你觉得你需要
a[i] = a[i]&&0?为什么你不能只做a[i] = 0? -
@KenWhite 很可能是一个术语错误。如果编译器停止,那么就没有程序可以执行,从而无法输入数字。我怀疑他的意思是程序停止了,考虑到所有因素,这种结果的可能性要大得多。
-
@KenWhite 我使用 xcode。它显示了这一点:122334455667788990243546(lldb) 并停止工作
标签: c reverse bubble-sort