1. 有没有其他方法不用数组实现这个功能?
时间: 2024-09-11 09:10:26 浏览: 27
当然有其他方法。如果你不需要保存所有的数字,可以直接读取并逐个逆序输出。例如,可以使用 `Stack` 或者 `Queue` 数据结构,或者直接利用 `Console.ReadLine()` 的特性逐个读取并反转输出字符:
```csharp
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
Console.Write("请输入一系列正整数,每输完一个按回车,输入0结束: ");
string line;
Stack<int> stack = new Stack<int>();
while ((line = Console.ReadLine()) != "0")
{
if (!int.TryParse(line, out int number) || number <= 0)
Console.WriteLine("无效输入,请输入正整数!");
else
stack.Push(number);
}
while (stack.Count > 0)
{
int reversedNum = stack.Pop();
Console.Write(reversedNum + " ");
}
Console.WriteLine("\n请输入0结束。");