C#-关于while循环的程序

时间:2018-12-10 23:37:17

标签: c# while-loop

我是C#编程的新手,我们仍然从循环开始。在今天的练习中,我们的任务是使用(while循环)创建程序。

问题是: 从用户那里读取5个标记,打印总和,如果标记大于或等于50,或者在标记中只有一个小于50的标记,则显示“通过”。  如果用户输入的2个标记小于50,则程序应打印STOP并结束程序。

这是我的尝试 不幸的是,我还没完成

能帮我吗?

int sum=0 , counter = 0, number=0 ;

        while (counter < 5 || number < 50)
        {

            number = Convert.ToInt16(Console.ReadLine());
            sum = sum + number;
            counter++;
        }

        Console.WriteLine(sum + "\nPassed");

2 个答案:

答案 0 :(得分:0)

在while循环中,您需要&&(和)而不是||(或)。

读取数字后,您可以检查数字是否小于50,还可以对它们进行计数。

因此,循环之后,您需要检查lessCounter以决定打印Passed或STOP。

int sum = 0, counter = 0, number = 0, lessCounter = 0;

while (counter < 5 && lessCounter <= 1)
{
    number = Convert.ToInt16(Console.ReadLine());
    sum += number;
    if (number < 50)
        lessCounter++;
    counter++;
}
if (lessCounter <= 1)
    Console.WriteLine(sum + "\nPassed");
else
    Console.WriteLine(sum + "\nSTOP");

答案 1 :(得分:-1)

感谢大家的辛勤工作和时间,特别感谢Szkup先生。

我能够这样做:

int number = 0, sum = 0, count = 0;
while (number < 5)
{
    Console.Write("Input Number {0} : " , (number + 1));
    int mark = Convert.ToInt16(Console.ReadLine());
    if (mark < 50)
    {
        count++;
    }
    if (count == 2)
    {
        Console.WriteLine("\nStop\n");
        break;
    }
    sum += mark;
    number++;
}
if (count <= 1)
{
    Console.WriteLine("\nsum = {0}\nPassed\n",sum);
}