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

参考技术B 窗体你随便画吧,放三个文本框用来填三个数,再两个文本框填最大值最小值,再放一个按钮,点击按钮执行如下代码,很简单:
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#怎么用代码编写一个三个数比大小的窗体应用程序的主要内容,如果未能解决你的问题,请参考以下文章

java中不同类型数比大小的程序代码

C#编程,分辨率改变后,怎么让窗体的大小,窗体上的控件大小,位置,按比例改变?

C# Winform 窗体设计 设计时 窗体大小不能调整

c#窗体编写程序,统计所给字符串中字母的个数、数字的个数和大写字母的个数,各种控件?

C# 如何编写程序监控键盘,即使程序的窗体不是当前活动窗体

如何用c#语言编一个比较三个数大小的程序,并输出最大值和最小值?