题目:定义一个stack类变量,每个元索类型为单精度实数,采用随机数类random的方法nextdouble0)产生不少于10个0-1之间实数并入栈,再出栈一半元素并输出。
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//这一节有random的用法,生成0-1之间的实数(即float)
namespace _2
{
internal class Program
{
static void Main(string[] args)
{
Stack<float> stack = new Stack<float>();
Random random = new Random();
Console.WriteLine("输入要生成的随机数数量(不少于10):");
int n = int.Parse(Console.ReadLine()); ;//注意读取的是字符串,所以转成Int
for (int i = 0; i < n; i++)
{
float randomValue = (float)random.NextDouble(); // 生成0-1之间的随机浮点数
stack.Push(randomValue);
}
Console.WriteLine("入栈的元素是:");
foreach (float value in stack)
{
Console.WriteLine(value);
}
Console.WriteLine("弹出的元素是:");
// 出栈并输出前一半元素
for (int i = 0; i < n / 2; i++)
{
if (stack.Count > 0) // 确保栈不为空
{
//float value = stack.Pop();
//Console.WriteLine(value);
Console.WriteLine(stack.Pop());
}
}
Console.WriteLine("按回车键退出...");
Console.ReadLine();
}
}
}
运行结果:
-----------------------------实战题目来自某油,大家可以作为学习进行参考-------------------------------------
共勉!