vlambda博客
学习文章列表

C语言每日一练5——利用指针进行整数排序


摘自《C语言精彩编程200例》

题目:

利用指针对三个整数进行排序,从大到小依次打印。

实现代码:

/*
============================================================================
Name : TEST-26-20200606.c
Author : 爱折腾大叔
Version :
Copyright : Your copyright notice
Description : 指针实现整数排序
============================================================================
*/

#include <stdio.h>
#include <stdlib.h>
static void swap(int *ptr1,int *ptr2)
{
int temp;
temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = temp;
}
static void reorder(int *ptr1,int *ptr2,int *ptr3)
{
if(*ptr1 < *ptr2)
{
swap(ptr1,ptr2);
}
if(*ptr1 < *ptr3)
{
swap(ptr1,ptr3);
}
if(*ptr2 < *ptr3)
{
swap(ptr2,ptr3);
}
}
int main(void) {
int one,two,three;
int *numOne,*numTwo,*numThree;

printf("please input three integral number:\n");
scanf("%d %d %d",&one,&two,&three);
numOne = &one;
numTwo = &two;
numThree = &three;
reorder(numOne,numTwo,numThree);
printf("%d %d %d\n",*numOne,*numTwo,*numThree);
}

运行结果:

please input three integral number:

1 3 5

5 3 1

================END=============

往期回归