Language: C#
Time limit: 2.0 second
Memory limit: 64 MB
Memory limit: 64 MB
Input
The input stream contains a set of integer numbers Ai (0 ≤ Ai ≤
1018). The numbers are separated by any number of spaces and line breaks. A size of the input stream does not exceed 256 KB.
Output
For each number Ai from the last one till the first one you should output its square root. Each square root should
be printed in a separate line with at least four digits after decimal point.
Sample
| input | output |
|---|---|
1427 0 876652098643267843 5276538 |
2297.0716 936297014.1164 0.0000 37.7757 |
以下是我的答案:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;
using System.Text;
namespace ACMTrain
{
class Program
{
static Stack<double> Tony = new Stack<double>();
static void Main(string[] args)
{
StringBuilder SB = new StringBuilder();
int CurrentCharInt;
while ((CurrentCharInt = Console.Read()) != -1)
{
char CurrentChar = Convert.ToChar(CurrentCharInt);
if (char.IsDigit(CurrentChar))
{
SB.Append(CurrentChar);
}
else
{
PushDouble(ref SB);
}
}
PushDouble(ref SB);
while (Tony.Count > 0)
{
Console.WriteLine(Tony.Pop().ToString("0.0000"));
}
}
static void PushDouble(ref StringBuilder SB)
{
if (SB.Length > 0)
{
Tony.Push(Math.Sqrt(Convert.ToDouble(SB.ToString())));
SB.Clear();
}
}
}
}
C#控制台读取并处理输入
本文介绍了一个使用C#编写的程序,该程序从控制台读取一系列长整数,并依次输出每个数字的平方根,精度至少保留四位小数。程序采用堆栈数据结构来实现逆序输出。
201

被折叠的 条评论
为什么被折叠?



