首页 > 解决方案 > 需要在限制之前停止的上限金额

问题描述

我一直在尝试制作一个程序,您输入一个数字,我一直在询问数字,直到它们的总和达到数字并显示它需要多少个数字。我面临的问题是,如果最后一个数字超过输入数字,它仍然会计算它,而它应该停止。

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();
    }

标签: c#

解决方案


这是修复它的一个选项,根据您的预期结果,您可以让计数从 -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();

推荐阅读