首页 > 解决方案 > c# 检查数字是否大于之前的数字并计算它

问题描述

我在简单的wihle循环中有一个练习,在那个练习中,我需要在while循环中输入5个数字,然后检查数字是否大于之前的数字,如果是,则计算它,否则开始新的,如果数字最小则计数前..

input:      example: 1,2,3,4,5
1. number 
2. number
3. number
4. number
5. number

因此,如果我有 5 个数字大于我数之前的数字。(计算有多少数字大于之前的数字)如果我的数字最小,那么在计算它之前的数字。(相同)如果我的数字相等,那么计算它..(相同)

输出我知道该怎么做,但我不知道将新输入放入列表中的数字..

感谢帮助我当前的代码:

while (totalcount < 5) {

    number = int.Parse(Console.ReadLine());
    if (number == 0 && lastnumber > number) {
        lastnumber = number;
        bigcount++;
    }
    if (number == 0 && number < lastnumber) {
        smallcount++;
    }
    if (number == lastnumber) {
        equalcount++;
    }
    totalcount++;
}
Console.WriteLine("there are" + " " + bigcount + " " + "biggers numbers.");
Console.WriteLine("there are" + " " + smallcount + " " + "smallest numbers.");
Console.WriteLine("there are" + " " + equalcount + " " + "equales numbers.");

标签: c#

解决方案


我试图忠实于你的样本。基本上我删除了检查是否number == 0没有任何意义,并添加了一个 if 子句totalcount > 0来跳过对第一个数字进行操作,因为lastnumber在那种情况下不存在。

int number, totalcount = 0, lastnumber = 0, bigcount = 0, smallcount = 0, equalcount = 0;

while (totalcount < 5)
{
    number = int.Parse(Console.ReadLine());

    if (totalcount > 0)
    {
        if (lastnumber < number)
        {
            bigcount++;
        }
        else if (lastnumber > number)
        {
            smallcount++;
        }
        else
        {
            equalcount++;
        }
    }

    totalcount++;
    lastnumber = number;
}

Console.WriteLine("there are" + " " + bigcount + " " + "biggers numbers.");
Console.WriteLine("there are" + " " + smallcount + " " + "smallest numbers.");
Console.WriteLine("there are" + " " + equalcount + " " + "equales numbers.");

推荐阅读