我应该编写一个“快速排序”给定数字数组的程序。问题是,不允许动态内存分配,也没有给出应该作为我程序输入的“数字”的数量。
例如,这是一个输入/输出示例:
INPUT:0 1 5 3 6 2 4
输出:0 1 2 3 4 5 6
但是我在使用scanf()获取数字时似乎无法关闭我的while循环; (我知道,scanf()很傻,但我也不能使用“iostream”)
这是我试图开始工作的代码:
int main()
{
int target_arr[1000], l, h, i = 0, c = 0, k = 0;
while (scanf("%d", &target_arr[i]) != EOF)
{
i++;
}
h = i -1;
l = 0;
quick(l, h, target_arr);
print_arr(target_arr, i );
return 0;
}
quick()和print_arr()函数是先前定义的,并且在输入正确的情况下工作得非常好。我只是不知道如何在输入完成时停止循环。
非常感谢任何帮助。