新手上路的我瑟瑟发抖
在主函数中为数组int a[10]赋值,利用swap(int *p1,int *p2)函数对a[]进行从小到大排序输出。
#include <stdio.h> int main() { int swap(int *p1, int *p2); int i, n, *p1, *p2, a[10]; n = 10; for (i = 0;i < n;i++) { scanf("%d", &a[i]); } p1 = a; p2 = &n; swap(p1, p2); for (i = 0;i < *p2;i++) printf("%d ", *(p1 + i)); printf("\n"); } int swap(int *p1, int *p2) { int i, j, temp; for (i = 0;i < *p2;i++) { for (j = 0;j < *p2 - 1;j++) { if (*(p1 + j) > *(p1 + j + 1)) { temp = *(p1 + j); *(p1 + j) = *(p1 + j + 1); *(p1 + j + 1) = temp; } } } }