我正在尝试找出一种方法,将按任意给定顺序输入的 3 个数字排序为家庭作业的升序。到目前为止我想出了这个。
if(*p1 > *p3){
*p3 = *p1;
}
if(*p1 > *p2){
*p2 = *p1;
}
if(*p2 > *p3){
*p3 = *p2;
}
我应该在其中添加一个临时变量来移动它吗?
最佳答案
交换两个变量的惯用方法确实是添加一个 temp
变量:
void swap(T *a, T *b)
{
T temp = *a;
*a = *b;
*b = temp;
}
现在,要将三个值按升序排序,成熟的排序算法确实有点过分了。您只需进行一些比较和交换
即可做到这一点。
关于c - 如何用C语言仅使用if语句编写3个整数升序算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54657498/