题目:使用自定义函数 void sort ( int a[ ], int n ); 对数组a中的整数进行排序(升序)
要求:输入一组整数,读取到输入结束。
例子:
输入:
3 1 4 1 5 9
输出:
1
1
3
4
5
9
分析:
在这个程序中, sort
函数的参数 a
是一个指向整型数组的指针,n
是数组元素的数量。
在函数内部,使用两个循环,其中外部循环控制排序的轮数,内部循环依次比较相邻的两个元素的值。
如果前一个元素的值大于后一个元素的值,则交换这两个元素的值。
在循环结束后,数组中的元素就会按照升序的方式排列。
最后,sort
函数使用一条 for
循环遍历并输出数组中的所有元素。
在 main
函数中,先定义一个整数数组 a
,并初始化了其元素的值。
接着就调用 sort
函数,将 a
数组和数组元素的数量 n
作为参数传递给函数。
上代码!
#include <>
void sort(int a[], int n) {
int i, j, t;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (a[j] > a[j + 1]) {
t = a[j];
a[j] = a[j + 1];
a[j + 1] = t;
}
}
}
for (i = 0; i < n; i++) {
printf("%d ", a[i]);
}
printf("\n");
}
int main() {
int a[] = {2, 7, 1, 8, 2, 8};
int n = sizeof(a) / sizeof(a[0]);
sort(a, n);
return 0;
}