用PHP写函数,比较a,b,c三个数,输出其中最大的一个?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用PHP写函数,比较a,b,c三个数,输出其中最大的一个?相关的知识,希望对你有一定的参考价值。
怎么没涉及到a,b,c三个数
echo max(1, 3, 5, 6, 7); // 7echo max(array(2, 4, 5)); // 5
-------
abc 是字符串,没办法比较大小的,如果应要比较也只能把数值给变量,例:
$a=10;
$b=20;
$c=30;
echo max($a,$b,$c); //说白了 这比较的还是10,20,30。 参考技术A <?php
function GetMax($arr)
$max = 0;
for($i=0;$i < count($arr);$i++)
if(is_numeric($arr[$i]) && $arr[$i]> $max) $max = $arr[$i];
echo "最大的数是:".$max;
$arr = array(1,10,3,2,70,40,"100string"); //多个数取最大值,也可以指定你的A B C组成一个数组
GetMax($arr);
?>
希望对您有帮助...本回答被提问者和网友采纳 参考技术B <?php
/*求三个数中的最大数*/
$a = 3;
$b = 4;
$c = 5;
//Method One:
function GetMaxNumber_1($a,$b,$c)
$max = max($a,$b,$c);
return $max;
//Method Two:
function GetMaxNumber_2($a,$b,$c)
$max = max($a,$b);
$max = max($max,$c);
return $max;
//Method Three
function GetMaxNumber_3($a,$b,$c)
$max = $a >= $b ? $a : $b;
$max = $max >= $c ? $max : $c;
return $max;
//Method Four
function GetMaxNumber_4($a,$b,$c)
$max = $a >= $b && $a >= $c ? $a : ( $b >= $a && $b >= $c ? $b : ( $c >=$a && $c >= $b ? $c : $a ) );
return $max;
//Method Five
function GetMaxNumber_5($a,$b,$c)
$arr = array($a, $b, $c);
sort($arr);
return array_pop($arr);
//Method Six
function GetMaxNumber_6($a,$b,$c)
$arr = array($a, $b, $c);
rsort($arr);
return $arr[0];
?> 参考技术C max
用c#比较三个数的大小,并输出最大数。
在Visual Studio 2008中添加两个文本框和一个命令按钮,在一个文本框中输入三个数,点击按钮时在另外一个文本框中输出最大数。
对于比较n个数思路有以下几种:
1 遍历比较。总共要比较n*(n-1)/2次。例如:对于数a,b,c 需要比较a,b a,c b,c 记录每次最大的值,最后输出这个值。这种方式是最常用的。
2 排序比较。先用某种算法,将n个数排序,然后直接给出最大的那个数(依据降序还是升序决定是给队首还是队尾)
3 筛选法。逐个淘汰,剩下一个的时候,就是结果,其他情况继续筛选。例如先比较10000,如果全部淘汰,下次所有的数比较1000,否则只有剩下的数参与比较。如此这般,从10000开始比较1000,100,10直到1 当任何时候只剩下1个数的时候比较完成。如果找不到,则表明存在多个数值一直,返回最后一次存在剩余结果的值即可
针对3示例如下(算法伪代码,假定是整数)
unsigned getMax(params unsigned[] datas)List<unsigned> lst;
unsigned max = 0;
for(unsigned i=0x80000000;i>0;i/=2)
if(lst.Count()==0)
for(unsigned data in datas)
if(i&data>0)
max = data;
lst.Add(data);
else
List<unsigned> tmp;
for(unsigned data in lst)
if(i&data>0)
max = data;
tmp.Add(data);
if(tmp.Count()>0)
lst = tmp;
if(lst.Count==1) break;
return max;
参考技术A 1、可以用控制台应用程序实现,也可以用windows应用程序实现。
2、用控制台应用程序实现如下:
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApplication1
class Program
static void Main(string[] args)
int a = 6, b = 1, c = 7;
System.Console.WriteLine("0 1 2",
a.ToString(),b.ToString(),c.ToString());
if (a < b) a = b;
if (a < c) a = c;
System.Console.Write(a);
System.Console.ReadKey();
参考技术B 你确定下是不是三个Textbox 一个label 加一个按钮 点击按钮比较三个数大小 在label中显示最大数 要是的话 我觉得应该这么写...
int a=Convert.toint(Textbox1.text);
int b=Convert.toint(Textbox2.text);
int c=Convert.toint(Textbox3.text);
if(a>=b)
if(a>=c)
label.text=Convert.tostring(a);
else
label.text=Convert.tostring(c);
else
if(b>=c)
label.text=Covert.tostring(b);
else
label.text=Convert.tostring(c);
参考技术C int a = 1;
int b = 2;
int c = 3;
int d = a > b ? a : b;
int e=d>c?d:c;
输出e 就是最大的。 注意一个文本框中的值要用 变量.ToString().Split(‘’)分离出来 参考技术D Response.Write("数字以,隔开");
string [] num = new string[3];
num = this.TextBox1.Text.Trim().Split(',');
try
int num1 = int.Parse(num[0]);
int num2 = int.Parse(num[1]);
int num3 = int.Parse(num[2]);
int temp1 = num1 > num2 ? num1 : num2;
int temp2 = num2 > num3 ? num2 : num3;
int max = temp1 > temp2 ? temp1 : temp2;
this.TextBox2.Text = max.ToString();
catch
Response.Write("转换错误");
以上是关于用PHP写函数,比较a,b,c三个数,输出其中最大的一个?的主要内容,如果未能解决你的问题,请参考以下文章
请问一下,知道两个数,随机输出其中一个,用PHP可以做到吗?