C# 需要在限额前停止的上限金额

C# 需要在限额前停止的上限金额,c#,C#,我一直在尝试做一个程序,你输入一个数字,我一直要求数字,直到他们的总和达到数字,并显示了多少数字,它采取。我面临的问题是,如果最后一个数字超过了输入的数字,它仍然会计数,而它应该停止 static void Main(string[] args) { int sumLimit = Convert.ToInt32(Console.ReadLine()); int sum = 0; int count = 0;` while

我一直在尝试做一个程序,你输入一个数字,我一直要求数字,直到他们的总和达到数字,并显示了多少数字,它采取。我面临的问题是,如果最后一个数字超过了输入的数字,它仍然会计数,而它应该停止

static void Main(string[] args)
    {
        int sumLimit = Convert.ToInt32(Console.ReadLine());
        int sum = 0;
        int count = 0;`

        while (sum < sumLimit)
        {
            int number = Convert.ToInt32(Console.ReadLine());
      
            sum += number;
            count++;
        }
        Console.WriteLine(sum + " " + count);
        Console.ReadLine();
    }
static void Main(字符串[]args)
{
int-sumLimit=Convert.ToInt32(Console.ReadLine());
整数和=0;
整数计数=0`
while(总和<总和限制)
{
int number=Convert.ToInt32(Console.ReadLine());
总和+=数字;
计数++;
}
Console.WriteLine(总和+“”+计数);
Console.ReadLine();
}

这里有一个选项可以修复它,根据您的预期结果,您可以让计数从-1或0开始:

    int sumLimit = Convert.ToInt32(Console.ReadLine());
    int sum = 0;
    int count = -1;
    int number = 0;
    
    while (sum + number < sumLimit)
    {      
        sum += number;
        count++;
        number = Convert.ToInt32(Console.ReadLine());
    }
    Console.WriteLine(sum + " " + count);
    Console.ReadLine();
int-sumLimit=Convert.ToInt32(Console.ReadLine());
整数和=0;
整数计数=-1;
整数=0;
while(总和+数字<总和限制)
{      
总和+=数字;
计数++;
number=Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine(总和+“”+计数);
Console.ReadLine();

有一个中间步骤,检查加法和
中断
如果超过
sumLimit
那么您不需要最后一次读取line@spzvtbg这可能会阻止程序在调试时退出。您只需在末尾的WriteLine中输出
count-1
,它将显示0-1表示负数
sumLimit
,但我不确定这方面是否有任何限制,不管怎样。我确实没有想到负数。