使用指针实现整数逆序排序

154 阅读1分钟

1 题目

函数:fun()

功能:使用指针实现整数逆序排序

描述:在main函数中实现,输入三个数字,使用指针实现三个数字的逆序排序

2 思路

使用指针实现数字的操作

3 代码

#include <stdio.h> 
#include <stdlib.h>
​
​
/**
函数:fun()
功能:使用指针实现整数逆序排序
描述:在main函数中实现,输入三个数字,使用指针实现三个数字的逆序排序
**/void swap(int *p1, int *p2) {
  int temp;
  temp = *p1;
  *p1 = *p2;
  *p2 = temp;
}
​
void fun(int *p1, int *p2, int *p3) {
  if (*p1 < *p2)
    swap(p1, p2);
  if (*p1 < *p3)
    swap(p1, p3);
  if (*p2 < *p3)
    swap(p2, p3);
}
​
​
int main(int argc, char const *argv[]) { 
  int a, b, c; 
  int *q1, *q2, *q3;
  printf("请输入三个数字:");
  scanf("%d, %d, %d", &a, &b, &c);
  q1 = &a;
  q2 = &b;
  q3 = &c;
​
  printf("逆序前的数字:%d, %d, %d\n", *q1, *q2, *q3);
  fun(q1, q2, q3);
  printf("逆序后的数字:%d, %d, %d\n", *q1, *q2, *q3);
}

示例结果:

$ gcc ex011.c -o demo
$ ./demo
请输入三个数字:3,9,1
逆序前的数字:3, 9, 1
逆序后的数字:9, 3, 1
​
$ ./demo
请输入三个数字:1,2,3
逆序前的数字:1, 2, 3
逆序后的数字:3, 2, 1