c# 每次传入一个值比较大小剔除0 返回最大和最小
时间: 2024-09-23 10:10:32 浏览: 38
在C#中,如果你想编写一个函数,它接受一组数字作为输入,然后排除其中的零并返回最大的非零数和最小的非零数,你可以这样做:
```csharp
using System;
public class Program
{
public static (int min, int max) GetMinMaxWithoutZero(params int[] numbers)
{
// 首先,创建两个变量分别存储当前找到的最大值和最小值
int minValue = int.MaxValue;
int maxValue = int.MinValue;
// 遍历数组
foreach (int num in numbers)
{
// 如果数值不为零
if (num != 0)
{
// 更新最大值和最小值
minValue = Math.Min(minValue, num);
maxValue = Math.Max(maxValue, num);
}
}
// 如果所有都是零,则返回默认值(例如(0, 0))
return minValue == int.MaxValue ? (minValue, maxValue) : (minValue, maxValue);
}
public static void Main(string[] args)
{
int[] input = { 5, 0, 9, 2, 7, 0, 3 };
(int min, int max) result = GetMinMaxWithoutZero(input);
Console.WriteLine($"最小值: {result.min}, 最大值: {result.max}");
}
}
```
在这个例子中,`GetMinMaxWithoutZero`函数接收一个`params`数组,这意味着它可以接受任意数量的整数。函数内部通过遍历数组,对每个非零数值更新最大值和最小值。最后,如果整个数组都是零,函数会返回`(0, 0)`,否则返回实际的最小值和最大值。
阅读全文