题目:使用自定义函数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 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;}