我的老师给了我们代码,该代码应该提示用户输入10个数字,调用函数将数组从最小到最大排序,然后打印结果。我们所要做的就是阅读输入并将其打印出来。这是她给我们的:
#include <stdio.h>
#include <stdbool.h>
#define num 10
void sort_array(int *a, int b);
int main(void)
{
int array[num] = {0}, i;
for (i = 1; i < 10; i++) {
printf("Please enter %d integers ", num);
/* read the input! */
sort_array(a, num);
/* print the sorted array */
return 0;
}
void sort_array(int *a, int b)
{
bool swapped = true;
int temp, i, j = 0;
while (swapped)
{
swapped = false;
j++;
for (i = 0; i < b - 1; i +1)
{
if (a[i] > a[i+1]) {
temp = a[i];
a[i] = a [i + 1];
a[i + 1] = temp;
swapped = true;
}
}
}
}
这是我的尝试:
#include <stdio.h>
#include <stdbool.h>
#define num 10
void sort_array(int *a, int b);
int main(void)
{
int array[num] = {0}, i, j;
printf("Please enter %d integers: ", num);
for (i = 0; i < 10; i++) {
scanf("%d", &array[i]);
}
/* read the input! */
sort_array(array, num);
/* print the array */
for (i = 0; i < 10; i++) {
printf("%d ", array[i]);
}
return 0;
}
void sort_array(int *a, int b)
{
bool swapped = true;
int temp, i, j = 0;
while (swapped)
{
swapped = false;
j++;
for (i = 0; i < b - 1; i +1)
{
if (a[i] > a[i+1]) {
temp = a[i];
a[i] = a[i + 1];
a[i + 1] = temp;
swapped = true;
}
}
}
}
我知道我可能离正确的距离很远,但有人可以帮帮我吗?我正在使用Quincy进行编译。程序将让我输入数字,但我必须用ctrl + c关闭程序。
很抱歉,如果我搞砸了格式化。
答案 0 :(得分:3)
使用C编程时,使用ele.waitForVisible()
我重新编写你的代码,通过正确的修正使其工作......还包括一些打印件,以我的观点向你展示,你怎么调试..
不要忘记删除所有不必要的打印件以将程序提交给您的老师
printf