用于查找“小型”和“大型”值的 C# 控制台应用程序
本文关键字:应用程序 控制台 值的 查找 小型 用于 大型 | 更新日期: 2023-09-27 18:33:23
我是编程新手,我想编写一个 C# 控制台应用程序,其中用户输入至少四个或更多数字(例如 5,2,45,39...),应用程序告诉更小和更大的(即 2<5<39<45... 或类似的东西)。
我正在尝试 if/else 条件,但这是为 3 个输入编写的,对于超过 3 个输入,由于 if/else 条件,程序变得太长。
{
double A, B, C;
Console.WriteLine("input Three Numbers and Press Enter after each.");
A = Convert.ToDouble(Console.ReadLine());
B = Convert.ToDouble(Console.ReadLine());
C = Convert.ToDouble(Console.ReadLine());
if (A < B && B < C)
Console.WriteLine(A + " < " + B + " < " + C);
else if (A < C && C < B)
Console.WriteLine(A + " < " + C + " < " + B);
else if (B < A && A < C)
Console.WriteLine(B + " < " + A + " < " + C);
else if (B < C && C < A)
Console.WriteLine(B + " < " + C + " < " + A);
else if (C < A && A < B)
Console.WriteLine(C + " < " + A + " < " + B);
else if (C < B && B < A)
Console.WriteLine(C + " < " + B + " < " + A);
}
在 c# 中,可以使用sort
方法对数组进行排序。 Array.Sort
对数组中的元素进行排序。它处理不同类型的元素,包括字符串和整数。
int[] values = { 5, 2, 45, 39 };
Array.Sort(values);
foreach (int value in values)
{
Console.Write(value);
Console.Write('<');
}
这
很容易。如果对值使用 List,则可以对 List<> 使用扩展名 Min 和 Max。
List<int> intList = new List<int>();
intList.Add(1);
intList.Add(-1);
intList.Add(3);
intList.Add(7);
intList.Add(4);
int minValue = intList.Min();
int maxValue = intList.Max();
如果您使用的是数组,则还有以下扩展方法:
int[] intArray = new int[] { 1, -1, 3, 7, 4 };
int minValue = intArray.Min();
int maxValue = intArray.Min();
只要记得添加使用System.Linq;
根据我对这个问题的理解,您尝试解决的程序可以通过应用排序算法之一来解决(http://en.wikipedia.org/wiki/Sorting_algorithm)。
有几种方法可以解决这个特定问题,例如气泡排序(http://en.wikipedia.org/wiki/Bubble_sort),堆排序(http://en.wikipedia.org/wiki/Heapsort)等。
我建议您在最终确定解决方案之前浏览上述所有算法并进行深入研究。
由于您不熟悉编程,因此将上述算法应用于您自己的程序将帮助您学习很多东西。
顺便说一下,C# 提供了一个名为 Array.Sort(numbers) 的自动预定义函数用于排序。
我已经在你的帮助下解决了它。谢谢大家。
{
double A, B, C, D;
Console.WriteLine("input Four Numbers and Press Enter after each.");
A = Convert.ToDouble(Console.ReadLine());
B = Convert.ToDouble(Console.ReadLine());
C = Convert.ToDouble(Console.ReadLine());
D = Convert.ToDouble(Console.ReadLine());
double[] values = { A, B, C, D };
Array.Sort(values);
int count = 1;
foreach (double value in values)
{
Console.Write(value + " ");
if (count != values.Length)
{
Console.Write("< ");
}
count++;
}