php中运用三元运算符比较三个数大小并从大到小输出
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php中运用三元运算符比较三个数大小并从大到小输出相关的知识,希望对你有一定的参考价值。
参考技术A 非得用三元运算吗?用其他的行不行?
个人觉得,用其他的反而更方便!
<?php
//方法一
//构造一个数组
$Num = array();
//给数组赋值3个随机数元素, 具体使用中, 数字的来源你自己替换
$Num[] = floor(rand());
$Num[] = floor(rand());
$Num[] = floor(rand());
//构造一个排序的自定义函数
function my_sort( $a, $b )
if ( $a == $b )
return 0;
elseif( $a > $b )
return -1;
else
return 1;
//应用自定义函数排序数组
uasort( $Num, 'my_sort');
//输出
echo '方法一输出:', join(',', $Num ), '<br/><br/>';
//方法二
//构造一个数组
$Num = array();
//给数组赋值3个随机数元素, 具体使用中, 数字的来源你自己替换
$Num[1] = floor(rand());
$Num[2] = floor(rand());
$Num[3] = floor(rand());
//取得最大的和最小的数字
$Da = max( $Num );
$Xiao = min( $Num );
//删除找到的两个数字
unset( $Num[array_search( $Da, $Num)], $Num[array_search( $Xiao, $Num)] );
//得到中间的数字
$Zhong = join( $Num );
echo '方法二输出:', $Da, ',', $Zhong, ',', $Xiao;
用C语言实现:将三个数按从大到小输出。
这个题目用编程来实现非常简单,由于我在上一篇博客中已经介绍过使用“冒泡排序”的方法。
所以我在这里直接给出使用“冒泡排序”写出的代码:
#include<stdio.h> int main() { int arr[] = { 456,789,123 }; int i, j, t; for (i = 0; i < 2; i++) { for (j = 0; j<2 - i; j++) { if (arr[j]<arr[j + 1]) { t = arr[j + 1]; arr[j + 1] = arr[j]; arr[j] = t; } } } for (i = 0; i < 3; i++) { printf("%d ", arr[i]); } printf("\\n"); system("pause"); return 0; }
由于本题数据个数非常少,我们也可以用最简单的if语句进行交换两值的内容来进行大小排序。
在上上篇博客中我也介绍过如何进行两数内容的交换。
代码如下:
int main() { int a = 456, b = 789, c = 123, temp; if (a < b) { temp = a; a = b; b = temp; } if (a < c) { temp = a; a = c; c = temp; } if (b < c) { temp = b; b = c; c = temp; } printf("%d %d %d\\n", a, b, c); system("pause"); return 0; }
当然编程的方法并不止这么两种,具体的排序方法还有很多,例如:堆排序、快排等等。
其他的排序方法等我复习到算法时会继续为大家更新的。
最后附上本次程序的运行结果:
以上是关于php中运用三元运算符比较三个数大小并从大到小输出的主要内容,如果未能解决你的问题,请参考以下文章
编写程序'任何三个整数,按照从大到小的排列顺序输出或输出最大最小值
用Python写一个 输入10个数,从大到小排序,并输出前五个数据的和 输入 9 8 7 6 5 4 3 2 1 输出35?