排序(函数)
描述
编写一个程序,用指向指针的指针的方法对n个整数排序并输出。要求写一个自定义函数sort(),其原型为:void sort(int **p,int n);n和整数在主函数中输入。排序后结果最后在主函数中输出。
输入
输入包括多组测试数据。每组测试数据有两行,第一行为一个字母n,表示有n个整数。第二行为n个空格隔开的整数。当输入0时结束
输出
输出按从小到大顺序排序后的整数
输入样例 1
3
2 1 3
0
输出样例 1
1 2 3
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
void sort(int** p, int n);
int i,n,data[10], **p,*pstr[10];
while (scanf("%d", &n),n!=0)
{
for (i = 0; i < n; i++)
pstr[i] = &data[i];
for (i = 0; i < n; i++)
scanf("%d", pstr[i]);
p = pstr;
sort(p, n);
for (i = 0; i < n; i++)
printf("%d ", *pstr[i]);
printf("\n");
}
}
void sort(int **p, int n)
{
int i, j, * temp;
for (i = 0; i < n - 1; i++)
for (j = i + 1; j < n; j++)
if(**(p + i)> **(p + j))
{ temp = *(p + i); *(p + i) = *(p + j); *(p + j) = temp; }
}