编写一个c#程序:输入一组非0整数(以0作为结束标志)到一维数组中,求出这一组数的平均值,并统计正数和负数的个数
时间: 2024-09-22 18:09:15 浏览: 60
在C#中,你可以创建一个控制台应用程序来实现这个功能。首先,我们需要定义一个方法来接收用户输入,计算平均值,以及分别统计正数和负数的数量。以下是一个简单的示例:
```csharp
using System;
class Program
{
static void Main()
{
Console.WriteLine("请输入一组非零整数(以0结尾):");
int[] numbers = ReadNumbersFromUser();
double average = CalculateAverage(numbers);
int positiveCount = CountPositiveNumbers(numbers);
int negativeCount = CountNegativeNumbers(numbers);
Console.WriteLine($"平均值:{average}");
Console.WriteLine($"正数个数:{positiveCount}");
Console.WriteLine($"负数个数:{negativeCount}");
}
// 读取用户输入的一维整数数组
static int[] ReadNumbersFromUser()
{
List<int> inputList = new List<int>();
int num;
while ((num = Convert.ToInt32(Console.ReadLine())) != 0)
{
inputList.Add(num);
}
return inputList.ToArray();
}
// 计算平均值
static double CalculateAverage(int[] numbers)
{
if (numbers.Length == 0) return 0; // 防止除以0错误
double sum = 0;
foreach (int number in numbers)
{
sum += number;
}
return sum / numbers.Length;
}
// 统计正数个数
static int CountPositiveNumbers(int[] numbers)
{
return Array.FindAll(numbers, num => num > 0).Length;
}
// 统计负数个数
static int CountNegativeNumbers(int[] numbers)
{
return Array.FindAll(numbers, num => num < 0).Length;
}
}
```
运行此程序后,它会提示你逐个输入数字,直到你输入0为止。然后,它会显示输入数字的平均值、正数和负数的数量。
阅读全文