用c#比较三个数的大小,并输出最大数。
在VisualStudio2008中添加两个文本框和一个命令按钮,在一个文本框中输入三个数,点击按钮时在另外一个文本框中输出最大数。...
在Visual Studio 2008中添加两个文本框和一个命令按钮,在一个文本框中输入三个数,点击按钮时在另外一个文本框中输出最大数。
展开
9个回答
展开全部
对于比较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;
}
展开全部
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();
}
}
}
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();
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你确定下是不是三个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);
}
}
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);
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int a = 1;
int b = 2;
int c = 3;
int d = a > b ? a : b;
int e=d>c?d:c;
输出e 就是最大的。 注意一个文本框中的值要用 变量.ToString().Split(‘’)分离出来
int b = 2;
int c = 3;
int d = a > b ? a : b;
int e=d>c?d:c;
输出e 就是最大的。 注意一个文本框中的值要用 变量.ToString().Split(‘’)分离出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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("转换错误");
}
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("转换错误");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询