【发布时间】:2018-08-03 19:57:22
【问题描述】:
我正在尝试研究一些算法问题,但找不到启动选择排序算法代码的方法。我使用 Visual Studio 并且代码通过编译没有显示任何错误。当我启动代码时,系统会停止几秒钟并打印“按任意键继续...”。我是初学者,我看不出有什么问题。帮帮忙
#include <stdio.h>
int n = 6;
int qwerty(int a[]) {
int i, j, t;
for (i=1; i<=n-1; i++){
for (j=i+1; j<=n; j++){
if (a[i] > a[j]){
t = a[j];
a[j] = a[i];
a[i] = t;
}
}
}
}
int main(void) {
int a[6] = { 2, 14, 20, 8, 17, 13 };
qwerty(a[n]);
int i;
for (i = 1; i <= n; i++){
printf("%d ", a[i]);
}
}
【问题讨论】:
-
C 中的数组是从零开始的。在学习算法之前,您最好先熟悉您所使用的语言。
-
这是冒泡排序
-
您需要注意警告。你的代码编译不干净。
-
@ShaheAnsar 这不正确。尽管我讨厌它,但 MATLAB 也是如此。
-
关于使用
qwerty(a[n])调用函数时出现错误(在 MSVC 中仅为警告)。它应该是qwerty(a);,并且还有另一个关于函数不返回值的警告(即使它没有被使用)。
标签: c algorithm sorting select compilation