用c#比较三个数的大小,并输出最大数。

2025-01-01 08:57:39
推荐回答(5个)
回答1:

  对于比较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 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 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;
}

回答2:

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();

}
}
}

回答3:

你确定下是不是三个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);
}
}

回答4:

int a = 1;
int b = 2;
int c = 3;
int d = a > b ? a : b;
int e=d>c?d:c;
输出e 就是最大的。 注意一个文本框中的值要用 变量.ToString().Split(‘’)分离出来

回答5:

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("转换错误");
}