c#产生100个0~100(包括0和100)的随机整数。 (1)输出这100个随机整数并记录。(每行输出10个) (2)输出(1)中产生的100个随机整数中的全部素数,如果没有素数,则显示“无素数”。(每行输出5个) 此程序设计中不能使用数组。并进行注译
时间: 2024-09-13 07:17:29 浏览: 77
1_1. 产生100个随机数_求其最小值和最大值以及平均值_
5星 · 资源好评率100%
在C#中,你可以使用`Random`类来生成随机数。由于题目要求不能使用数组,我们将直接在循环中处理和输出每个随机数。为了找到素数,我们可以使用一个简单的方法来检查每个数是否为素数。
下面是一个简单的C#程序来完成这个任务:
```csharp
using System;
class Program
{
static void Main()
{
Random random = new Random();
int count = 0;
int totalNumbers = 100;
// 输出100个随机整数并记录
for (int i = 0; i < totalNumbers; i++)
{
int randomNumber = random.Next(0, 101); // 生成0~100之间的随机整数
Console.Write(randomNumber + " "); // 输出随机数
count++; // 增加计数器
// 每输出10个数换行
if (count % 10 == 0)
{
Console.WriteLine();
}
}
Console.WriteLine();
// 输出素数
Console.WriteLine("素数有:");
count = 0; // 重置计数器用于素数输出
for (int i = 0; i < totalNumbers; i++)
{
int randomNumber = random.Next(0, 101);
if (IsPrime(randomNumber))
{
Console.Write(randomNumber + " ");
count++; // 增加计数器
// 每输出5个素数换行
if (count % 5 == 0)
{
Console.WriteLine();
}
}
}
// 如果没有找到素数,显示“无素数”
if (count == 0)
{
Console.WriteLine("无素数");
}
}
// 辅助方法判断一个数是否为素数
static bool IsPrime(int number)
{
if (number <= 1) return false; // 小于等于1的不是素数
if (number == 2) return true; // 2是素数
if (number % 2 == 0) return false; // 排除偶数
int boundary = (int)Math.Floor(Math.Sqrt(number));
for (int i = 3; i <= boundary; i += 2)
{
if (number % i == 0) return false;
}
return true;
}
}
```
在这个程序中,我们首先生成了100个随机数,并且每行输出了10个。然后我们再次遍历这100个数,使用`IsPrime`方法检查每个数是否为素数。如果是素数,则输出该数,并且每输出5个素数就换行。如果没有找到素数,则输出“无素数”。
阅读全文