【问题标题】:Ask 10 numbers then add the together问 10 个数字,然后将它们相加
【发布时间】:2017-12-11 16:39:39
【问题描述】:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp4
{
    class Program
{
    static void Main(string[] args)
    {
        int tulos = 0;

        for (int i = 0; i < 10; i++)
        {
            Console.Write("Anna kokonaisluku: ");
            String Luku = Console.ReadLine();
            int annettu = int.Parse(Luku);
            tulos = laske_pluslasku(annettu);
        }
            Console.WriteLine("Lukujen summa on " + tulos);
            Console.ReadKey();
        }
        static int laske_pluslasku(int luku)
        {
            int lasku = 0;

            lasku += luku;

            return lasku;
        }
    }
}

程序应该在一个循环中询问 10 个数字,然后在“静态它”中将它们加在一起。返回总和并打印时。

I should get a print like this

我的问题是它不会将所有 10 个数字加在一起。它只显示最后一个给定的数字。我认为这是因为“int lasku = 0;”。

【问题讨论】:

  • 你需要了解scope
  • 你的 add 方法有 int lasku = 0; 而你应该在 for 循环中有 tulos += annettu; 并且忘记那个额外的方法
  • 尝试不使用该功能。我认为这会有所帮助。我可以看到问题
  • 你说你认为是因为int lasku = 0,所以你应该尝试一些不同的东西,看看你能想出什么。

标签: c# loops console int


【解决方案1】:

问题是您将一个数字添加到 0,然后将您的最终变量设置为您刚刚求和的数字。

将您的代码更改为(如果您确实需要对方法求和):

static void Main(string[] args)
{
    int tulos = 0;

    for (int i = 0; i < 10; i++)
    {
        Console.Write("Anna kokonaisluku: ");
        string luku = Console.ReadLine();
        int annettu = int.Parse(luku);

        tulos = laske_pluslasku(tulos, annettu);
    }

    Console.WriteLine("Lukujen summa on " + tulos);
    Console.ReadKey();
}

static int laske_pluslasku(int tulos , int annettu)
{ 
    return tulos + annettu;
}

或者更简单的方法

static void Main(string[] args)
{
    int tulos = 0;

    for (int i = 0; i < 10; i++)
    {
        Console.Write("Anna kokonaisluku: ");
        string luku = Console.ReadLine();
        int annettu = int.Parse(luku);
        tulos += annettu;
    }
    Console.WriteLine("Lukujen summa on " + tulos);
    Console.ReadKey();
}

【讨论】:

  • 在我将“tulos”添加到 tulos = laske_pluslasku(annettu, tulos); 之后,第一个工作正常。非常感谢!
  • @JoniSoininen 请使用 Miguel de Sousa 向您展示的第二种方式!它更容易阅读并且需要更少的空间
  • @MartinNiederl 我猜他可能正在学习如何编程,并且正在探索。 PS谢谢编辑..
【解决方案2】:
List<int> sumList = new List<int>();
for (int i = 0; i < 10; i++)
{
    Console.Write("Anna kokonaisluku: ");
    String Luku = Console.ReadLine();
    int annettu = int.Parse(Luku);
    sumList.Add(annettu);
}
int result = sumList.Sum();

【讨论】:

    猜你喜欢
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 2010-10-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多