1

我已经弄清楚如何做大部分我需要的事情。我意识到 for 循环中使用的变量在循环之外无法访问,但我需要显示用户输入的整数的总和。所以,

第 1 步:要求用户输入整数个数。

第 2 步:遍历获取每个整数。

第 3 步:然后显示所有输入。

第4步:应该有第3步的总和......那就是

我的问题在哪里。

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

namespace Dynamic_Entry
{
    class Program
    {
        static void Main()
        {
            Console.Write("How many integers are in your list? ");
            int k = Convert.ToInt32(Console.ReadLine());
            int[] a = new int[k];
            int sum = 0;

            for (int i = 0; i < a.Length; i++)
            {
                Console.Write("Please enter an integer: ");
                a[i] = Convert.ToInt32(Console.ReadLine());
            }
            for (int n = 0; n < a.Length; n++)
            {
                Console.WriteLine("{0, 5}", a[n]);
            }
            Console.WriteLine("-----");

            sum += [] a;
            Console.Write("{0, 5}", sum);
            Console.ReadLine();
        }
    }
}

有关如何从循环外部获取总和的任何帮助?如果我将连字符线放在最后一个循环中,它会继续在每个数字之后放置线......我只需要最后的线,并在它下面加上总和。谢谢!

4

2 回答 2

3

由于您可以使用 linq,请将总和替换为波纹管

 Console.WriteLine("-----");
    sum = a.Sum(); 
 Console.Write("{0, 5}", sum);
于 2013-08-02T05:41:46.687 回答
2

您可以使用

a.Sum() 

Linq的方法。

您的代码应如下所示

static void Main()
        {
            Console.Write("How many integers are in your list? ");
            int k = Convert.ToInt32(Console.ReadLine());
            int[] a = new int[k];
            int sum = 0;

            for (int i = 0; i < a.Length; i++)
            {
                Console.Write("Please enter an integer: ");
                a[i] = Convert.ToInt32(Console.ReadLine());
            }
            for (int n = 0; n < a.Length; n++)
            {
                Console.WriteLine("{0, 5}", a[n]);
            }
            Console.WriteLine("-----");

            Console.Write("{0, 5}", a.Sum());
            Console.ReadLine();
        }
于 2013-08-02T05:36:48.517 回答