|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
输入一组数,先使用函数由小至大排序,然后输出其在排序前后的位置(在一个数组中完成)
- //输入一组数,先使用函数由小至大排序,然后输出其在排序前后的位置(在一个数组中完成)
- #include<stdio.h>
- int main()
- {
- int sort(int(*p)[10], int n);
- int i, j, n, (*p)[10];
- int arr[2][10];
- printf("请输入序列大小:");
- scanf("%d", &n);
- printf("请输入序列各元素:");
- for (i = 0;i < n;i++)
- {
- scanf("%d", &arr[0][i]);
- arr[1][i] = i + 1;
- }
- p = arr;
- sort(p, n);
- for (i = 0;i < 2;i++)
- {
- for (j = 0;j < n;j++)
- {
- printf("%3d", arr[i][j]);
- }
- printf("\n");
- }
- }
- int sort(int(*p)[10], int n)
- {
- int i, j, temp1,temp2;
- for (i = 0;i < n;i++)
- {
- for (j = 0;j < n - 1;j++)
- {
- if (*(*p+ j) > *(*p + j + 1))
- {
- temp1 = *(*p + j);
- *(*p + j) = *(*p + j + 1);
- *(*p + j + 1) = temp1;
- temp2 = *(*p + n + j);
- *(*p + n + j) = *(*p + n + j + 1);
- *(*p + n + j + 1) = temp2;
- }
- }
- }
- return 0;
- }
复制代码
|
|