在C#中输入0时添加输入的数字之和?

在C#中输入0时添加输入的数字之和?,c#,sum,add,do-while,C#,Sum,Add,Do While,我对C#完全陌生,完全迷路了。我需要做的是输入尽可能多的数字并继续输入,但当您输入值“0”时,即您将所有输入的数字相加 这是我的节目: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Activity2 { class Program { static void Main(string[] args) {

我对C#完全陌生,完全迷路了。我需要做的是输入尽可能多的数字并继续输入,但当您输入值“0”时,即您将所有输入的数字相加

这是我的节目:

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

namespace Activity2
{
    class Program
    {
        static void Main(string[] args)
        {

            int n, sum, x = 0;

            do
            {
                Console.WriteLine("Enter a Number: ");
                n = int.Parse(Console.ReadLine());


            }
            while (n != 0);

            {

                sum = n + x;
                x = n;
                n = sum;
                Console.WriteLine("The sum is: " + n);

            }
            Console.ReadLine();
        }
    }

}
一些建议:

  • while
    循环比
    do..while
    循环更好
  • 您应该使用
    int.TryParse
    方法进行输入验证
  • 您应该计算循环中的数字之和
  • 您只需使用两个int变量即可解决此问题:
    n
    用于读取的数字,而
    sum
    用于数字和
例如,您可以使用以下代码解决问题:

static void Main(string[] args)
{
    int sum = 0;
    while (true)
    {
        Console.WriteLine("Enter a Number: ");
        int n;
        if (int.TryParse(Console.ReadLine(), out n))
        {
            if (n == 0) 
                break;
            sum += n;
        }
    }
    Console.WriteLine("The sum is: " + sum);
}

在while循环外打印总和

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

namespace Activity2
{
    class Program
    {
        static void Main(string[] args)
        {

            int n, sum, x = 0;

            do
            {
                Console.WriteLine("Enter a Number: ");
                n = int.Parse(Console.ReadLine());


            }
            while (n != 0);
            {

                sum = n + x;
                x = n;
                n = sum;


            }
            Console.WriteLine("The sum is: " + n);
            Console.ReadLine();
            }
    }

}

你可以简单地用do。。。虽然循环

private static void Main(string[] args) 
{
    int n, sum = 0;
    do
    {
        Console.WriteLine("Enter a number:");
        n = Convert.ToInt32(Console.ReadLine());
        sum += n;
    } while (n != 0);
    Console.WriteLine("Sum is:"+sum);
    Console.ReadKey();
}

皈依ToTIN32()是一种将字符串转换成INT32(int).< /p>的方法,您可以考虑添加它们,只要输入“0”,就可以打印总数。这是正确的,但是这里应该建议更好地处理用户输入。(Int32.TryParse)。说到wa,你真的应该添加解释,而不仅仅是代码。@Steve,我用TryParse添加了check。