程序填空题:整数排序*
整数排序\*
下面的程序输入10个整数,按升序排序后输出。请在空白处填写适当内容完成该程序。
```c
#include
void Swap(int *x, int *y);
void Input(int *array, int size);
void Output(const int *array, int size);
void Sort(int *array, int size);
int main()
{
int a[10];
Input(a, 10);
@@[Sort(a, 10)](2);
Output(a, 10);
return 0;
}
void Swap(int *x, int *y)
{
int t = *x;
@@[*x = *y](2);
*y = t;
}
void Input(int *array, int size)
{
int k;
for (k = 0; k < size; ++k)
{
scanf("%d", @@[&array[k]](2));
}
}
void Output(const int *array, int size)
{
int k;
for (k = 0; k < size; ++k)
{
printf("%d\n", @@[array[k]](2));
}
}
void Sort(int *array, int size)
{
int i, j;
for (i = size - 1; i > 0; --i)
{
for (j = 0; j < i; ++j)
{
if (array[j] > array[j + 1])
{
@@[Swap(&array[j], &array[j + 1])](2);
}
}
}
}
```
答案:
第1空:Sort(a, 10)
第2空:*x = *y
第3空:&array[k]
第4空:array[k]
第5空:Swap(&array[j], &array[j + 1])
下面的程序输入10个整数,按升序排序后输出。请在空白处填写适当内容完成该程序。
```c
#include
void Swap(int *x, int *y);
void Input(int *array, int size);
void Output(const int *array, int size);
void Sort(int *array, int size);
int main()
{
int a[10];
Input(a, 10);
@@[Sort(a, 10)](2);
Output(a, 10);
return 0;
}
void Swap(int *x, int *y)
{
int t = *x;
@@[*x = *y](2);
*y = t;
}
void Input(int *array, int size)
{
int k;
for (k = 0; k < size; ++k)
{
scanf("%d", @@[&array[k]](2));
}
}
void Output(const int *array, int size)
{
int k;
for (k = 0; k < size; ++k)
{
printf("%d\n", @@[array[k]](2));
}
}
void Sort(int *array, int size)
{
int i, j;
for (i = size - 1; i > 0; --i)
{
for (j = 0; j < i; ++j)
{
if (array[j] > array[j + 1])
{
@@[Swap(&array[j], &array[j + 1])](2);
}
}
}
}
```
答案:
第1空:Sort(a, 10)
第2空:*x = *y
第3空:&array[k]
第4空:array[k]
第5空:Swap(&array[j], &array[j + 1])