c# double数组有2个数 与传递过来的一个 double数 比较 (剔除0)后 输出最大和最小值 数组
时间: 2024-11-03 20:17:27 浏览: 5
当你有一个double类型的数组和一个单独的double值时,你可以创建一个函数来找到数组中的非零值并返回它们的最大值、最小值。以下是一个简单的C#函数示例:
```csharp
using System;
public static void FindMinMax(double[] array, double singleValue)
{
// 剔除数组中的0
double[] nonZeroArray = Array.FindAll(array, value => value != 0);
if (nonZeroArray.Length == 0) // 如果所有元素都是0,则没有非零值
{
Console.WriteLine("数组中没有非零值");
return;
}
// 将单个值添加到数组中进行比较(如果有必要)
if (nonZeroArray.Length > 0 && singleValue != 0)
{
nonZeroArray = new double[nonZeroArray.Length + 1];
Array.Copy(nonZeroArray, 0, nonZeroArray, 1, nonZeroArray.Length);
nonZeroArray[0] = singleValue;
}
// 找到最大值和最小值
double minValue = double.MaxValue;
double maxValue = double.MinValue;
foreach (double num in nonZeroArray)
{
if (num < minValue)
minValue = num;
if (num > maxValue)
maxValue = num;
}
Console.WriteLine($"数组中的最小值: {minValue}");
Console.WriteLine($"数组中的最大值: {maxValue}");
}
```
要使用这个函数,传入你的双精度数组和单个值:
```csharp
double[] numbers = { 0, 5.5, 0, 9, 0 };
double singleNumber = 3.7;
FindMinMax(numbers, singleNumber);
```
阅读全文