C#怎么用代码编写一个三个数比大小的窗体应用程序
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#怎么用代码编写一个三个数比大小的窗体应用程序相关的知识,希望对你有一定的参考价值。
就是输入三个数,输出一个最大值,输出一个最小值,怎么弄,不要控制台的程序,要窗体的
private void BtnCompare_Click(object sender, EventArgs e)int max;
int min;
if(GetMaxAndMin(textBox1.Lines,out max,out min))
textBox2.Text = max.ToString();
textBox3.Text = min.ToString();
private bool GetMaxAndMin(string[] strArr,out int max,out int min)
bool b = true;
int maxValue=int.MinValue;
int minValue=int.MaxValue;
for(int i=0;i<strArr.Length;i++)
int num;
if(int.TryParse(strArr[i],out num))
if(num<minValue)
minValue = num;
if(num>maxValue)
maxValue = num;
else
MessageBox.Show("含有非数字字符,请重新输入!");
b = false;
max = maxValue;
min = minValue;
break;
max = maxValue;
min = minValue;
return b;
追问
急求啊
追答我早晨就把代码给你了.
追问啊,我这没显示啊
追答我给你写的代码比较严谨,你如果看不明白,可以看另外一位网友那个答案,他那个更容易明白.
参考技术A double tmp;
string[] num = txtno.Text.Split(new char[] ',','\\r','\\n' );
double[] no = new double[num.Length];
for (int i = 0; i < num.Length; i++)
no[i] = Convert.ToDouble(num[i]);
for (int j = 0; j < num.Length - 1; j++)
for (int k = 0; k < num.Length - j - 1; k++)
if (no[k] > no[k + 1])
tmp = no[k];
no[k] = no[k + 1];
no[k + 1] = tmp;
MessageBox.Show("最小值:" + no[0] + "最大值:" + no[num.Length-1]);
int max=0,sm=0;
int s1=Convert.toInt32(textbox1.value);
int s2=Convert.toInt32(textbox2.value);
int s3=Convert.toInt32(textbox3.value);
if(max<s1)max=s1;
if(max<s2)max=s2;
if(max<s3)max=s3;
sm=max;
if(sm>s1)sm=s1;
if(sm>s2)sm=s2;
if(sm>s3)sm=s3;
textbox4.value=max.toString();//最大值
textbox5.value=sm.toString();//最小值追问
这是怎么回事啊
我记错了,应该写成:
int max=0,sm=0;
int s1=Convert.ToInt32(textbox1.text.trim());
int s2=Convert.ToInt32(textbox2.text.trim());
int s3=Convert.ToInt32(textbox3.text.trim());
if(maxs1)sm=s1;
if(sm>s2)sm=s2;
if(sm>s3)sm=s3;
textbox4.text=max.ToString();//最大值
textbox5.text=sm.ToString();//最小值
用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("转换错误");
以上是关于C#怎么用代码编写一个三个数比大小的窗体应用程序的主要内容,如果未能解决你的问题,请参考以下文章
C#编程,分辨率改变后,怎么让窗体的大小,窗体上的控件大小,位置,按比例改变?