トップページに戻る    次の競技プログラミングの問題へ    前の競技プログラミングの問題へ

No.81 すべて足すだけの簡単なお仕事です。

■■■問題■■■

与えられるN個の値の総和を求めよ。

■■■入力■■■

N
A1
A2
・・・
Ai
・・・
AN

1行目に、値の個数を表す整数 N (1 <= N <= 100) が与えられます。
続くN行に、値Ai (-100億 <= Ai <= 100億, 1 <= i <= N)が与えられます。
値は整数または有限小数で与えられ、小数の場合は小数第10位まで与えられる場合があります。

■■■出力■■■

値をすべて足した結果を出力してください。
結果が小数を含まない場合であっても、小数第10位まで出力してください。
最後に改行してください。


C#のソース

using System;
using System.Collections.Generic;
using System.Linq;

class Program
{
    static string InputPattern = "Input4";

    static List<string> GetInputList()
    {
        var WillReturn = new List<string>();

        if (InputPattern == "Input1") {
            WillReturn.Add("5");
            WillReturn.Add("1");
            WillReturn.Add("2");
            WillReturn.Add("3");
            WillReturn.Add("4");
            WillReturn.Add("5");
            //15.0000000000
        }
        else if (InputPattern == "Input2") {
            WillReturn.Add("10");
            WillReturn.Add("0.1");
            WillReturn.Add("0.1");
            WillReturn.Add("0.1");
            WillReturn.Add("0.1");
            WillReturn.Add("0.1");
            WillReturn.Add("0.1");
            WillReturn.Add("0.1");
            WillReturn.Add("0.1");
            WillReturn.Add("0.1");
            WillReturn.Add("0.1");
            //1.0000000000
        }
        else if (InputPattern == "Input3") {
            WillReturn.Add("10");
            WillReturn.Add("0.999999999");
            WillReturn.Add("0.000000001");
            WillReturn.Add("-0.999999999");
            WillReturn.Add("-0.000000001");
            WillReturn.Add("99999999.999999999");
            WillReturn.Add("99999999.999999999");
            WillReturn.Add("99999999.999999999");
            WillReturn.Add("0.000000002");
            WillReturn.Add("-99999999.999999999");
            WillReturn.Add("99999999.999999999");
            //299999999.9999999990
        }
        else {
            string wkStr;
            while ((wkStr = Console.ReadLine()) != null) WillReturn.Add(wkStr);
        }
        return WillReturn;
    }

    static void Main()
    {
        List<string> InputList = GetInputList();
        decimal[] wkArr = InputList.Skip(1).Select(X => decimal.Parse(X)).ToArray();
        Console.WriteLine("{0:F10}", wkArr.Sum());
    }
}


解説

F10の書式指定で、小数以下10桁まで表示してます。

MSDN --- 標準の数値書式指定文字列