源程序
#include<stdio.h>
int main()
{
int a, b, c, i, j, h;//h为中间变量
printf("请输入三个整数\n");
scanf_s("%d%d%d", &a, &b, &c);
int* pa[3];
pa[0] = &a, pa[1] = &b, pa[2] = &c;
for(i = 0; i < 3; i++)
{
for(j = 0; j < 3; j++)
{
if(*pa[i] < *pa[j])
{
h = *pa[i];
*pa[i] = *pa[j];
*pa[j] = h;
}
}
}
printf("将三个数从大到小排序后的三个整数为:");
for(i = 0; i < 3; i++)
{
printf("%d\t", *pa[i]);
}
return 0;
}
其中,以下这段程序是运用的选择排序法,这样输入的整数不是三个而是多个时该程序也适用,当然,此程序中也可换其它排序方法,依据自己喜好即可
for (i = 0; i < 3; i++)
{
for (j = 0; j < 3; j++)
{
if (*pa[i] < *pa[j])
{
h = *pa[i];
*pa[i] = *pa[j];
*pa[j] = h;
}
}
}
实验结果: