找到最大值数组中2个数字的最小数量

时间:2012-10-24 21:31:51

标签: c#

我正在尝试查找用户输入的2个整数中的最大和最小数字。 首先,我已将字符串转换为int,然后将它们放入数组中,以便我可以操作它们。我认为在将变量分配给数组时我会陷入困境。但我看不到任何分配了变量的数组的例子,这可能就是我出错了。

    private void button1_Click(object sender, EventArgs e)
    {
       string txtbxnum1 = Int32.Parse(num1);
       string txtbxnum2 = Int32.Parse(num2);

       int[] numbers = new int[2] {0,1};
       int numbers [0] = num1;
       int numbers [1] = num2;

       int maximumNumber = Max.numbers();
       int minimumNumber = Min.numbers();
       MessageBox.Show (maximumNumber.Text);
    }

我会很高兴有任何帮助或指示。

6 个答案:

答案 0 :(得分:6)

如果您只有两个数字,则不需要数组:System.Math提供了查找两个数字中较小和较大的函数,称为Math.MaxMath.Min。< / p>

// Int32.Parse takes a string, and returns an int, not a string:
int n1 = Int32.Parse(num1);
int n2 = Int32.Parse(num2);
// Math.Min and Math.Max functions pick the min and max
int min = Math.Min(n1, n2);
int max = Math.Max(n1, n2);
// Show both numbers in a message box in one go using String.Format:
MessageBox.Show(string.Format("Min:{0} Max:{1}", min, max));

答案 1 :(得分:2)

有点搞砸了语法。您的代码是不是 C#语言有效代码。

你必须做这样的事情:

var numbers = new int[]{0,1,567,4,-5,0,67....};

和max / min就像

var maximum = numbers.Max();
var minimum = numbers.Min();

答案 2 :(得分:2)

你应该调用Math.MinMath.Max这两个都接受两个整数作为参数。

如果这还不够详细,请告诉我。

答案 3 :(得分:0)

int maximumNumber = Math.Max(numbers[0],numbers[1]);
int minimumNumber = Math.Min(numbers[0],numbers[1]);

MessageBox.Show(maximumNumber + " " is the largest and " + minimumNumber + " is the smallest");

那说你不应该真正访问那样的数组值,但它对初学者有效。

答案 4 :(得分:0)

我不太了解你与TextBoxes的交互和奇怪的解析然后设置为字符串,但假设num1和num2是用户输入的整数

private void button1_Click(object sender, EventArgs e)
{
    int maximumNumber = Math.Max(num1, num2);
    int minimumNumber = Math.Min(num1, num2);

    MessageBox.Show (maximumNumber);
}

答案 5 :(得分:0)

您的代码中存在一些错误。

string txtbxnum1 = Int32.Parse(num1);

Int32.Parse接受一个字符串并返回int。但是,您尝试将其分配给string。它应该是

int txtbxnum1 = Int32.Parse(num1);

分配如下数组:

int[] numbers = new int[2] {0,1};

只需创建一个新数组,该数组可以包含两个整数,并使用值01预填充它们。这不是你想要做的。据我所知,除非你在代码中的其他地方使用数组,否则你甚至不需要在这里使用数组。

您可以使用Max类中的方法找到MinMath值。

int minimumValue = Math.Min(txtbxnum1,txtbxnum2);
int maximumValue = Math.Max(txtbxnum1,txtbxnum2);

您可以在MSDN上找到有关Math类的更多信息。