使用 C# 中的任何循环,从 0 计数到 20,每行和每个可被 5 整除的数字都有一个消息,有一个特殊的消息

本文关键字:消息 有一个 数字 任何 使用 循环 | 更新日期: 2023-09-27 18:19:06

我目前正在研究循环(for,while和do while(。我了解基础知识,并且能够毫不费力地成功地完成基础知识。我目前正在研究一个超出基础知识的问题,最终结果将显示一条消息("在循环中传递{0}"(,其中显然"{0}"是数字循环。但是,我正在尝试为那些可被 5 整除的数字(5、10、15、20(创建一个单独的消息。我能得到一个方向正确的指针吗?我玩弄了使用"if"语句甚至"foreach"的想法,但自昨天以来一直没有运气找到可能的可行选择,或者根本不知道如何正确表达它。以下是我当前的代码:

    static void Main(string[] args)
    {
        int i = 1;
        Console.WriteLine("Do while loop positive numbers");
        do
        {
            Console.WriteLine("Pass {0} in the loop", i++);
        } while (i <= 20);
        Console.ReadLine();
    }

使用 C# 中的任何循环,从 0 计数到 20,每行和每个可被 5 整除的数字都有一个消息,有一个特殊的消息

检查余数运算符:%

结合if语句,您应该已经准备好了。

不会为你写代码,但想给出提示

您可以使用do while loop内的if condition来检查它是否divisible by 5然后显示特殊消息。您可以使用%运算符来检查该数字是否可以被其他数字整除

 static void Main(string[] args)
    {
        int i = 1;
        Console.WriteLine("Do while loop positive numbers");
        do
        {
            Console.WriteLine("Pass {0} in the loop", i++);
            //if your number is divisible by 5 then display message 
        } while (i <= 20);
        Console.ReadLine();
    }

只需检查它是否可以被 5 整除

if(i%5==0)
  Console.WriteLine("{0} is divisible by 5",i);

% 或模块运算符用于获取除法的余数

旁注一下,stackoverflow不是开始编程的好地方,其他网站或教程更有帮助

你应该做:

if (i%5==0)
print your special message

只需使用运算符 % 并检查除法 i % 5 的余数。如果它是 0,则 i 被 5 整除。

要检查一个数字是否可以被另一个数字整除,您可以使用%取模运算符,您可以像加法或除法运算符一样使用它,a = c % b .
模运算符为您提供除法的余数。所以如果你做51 % 5,你会得到 1 因为 5 进入 51 十次,还剩下一个。因此,如果使用取模运算符并且结果为 0,则第一个数字可被第二个数字整除,没有余数。

因此,您需要做的是设置一个 if 语句来检查 i 的模数是否为 5,或者您需要的任何模。有很多关于 if 语句的教程,所以我不会详细介绍代码。

以下内容将检查 I 是否可以被 5 整除,如果是,则写入控制台。将此添加到您的循环中:

if(i % 5 == 0)
{
    Console.WriteLine("{0} is divisible by 5!", i);
}

for循环

for( int i = 0; i <= 20; i++ )
{
    if( i % 5 == 0 && i > 0 )
    {
        Console.WriteLine( "{0} is divisible by 5.", i );
    }
}

做...虽然等效

int x = 0;
do
{
    if( x % 5 == 0 && x > 0 )
    {
        Console.WriteLine( "{0} is divisible by 5.", x );
    }
    x++;
}
while( x <= 20 );

请注意,我更喜欢从零开始循环,除非有充分的理由这样做。索引在 .NET 中从零开始,并且 (IMO( 最好编写遵循该模式的代码。

正如大家所指出的,这里重要的是模运算符(%(。

http://msdn.microsoft.com/en-us/library/0w4e0fzs.aspx

有关 .NET 模运算符实际上是余数运算符的原因的完整细分:

http://blogs.msdn.com/b/ericlippert/archive/2011/12/05/what-s-the-difference-remainder-vs-modulus.aspx

尝试在 if 语句中使用 % 运算符。

if((i%5) == 0)
   divisible by 5 message
else
   the regular message 
using System;
namespace loop
{
    class Program
    {
        static void Main(string[] args)
        {
            int i= 1;//start
            while (i<=20)
            {
                Console.WriteLine(i);
                i++;
            }
            Console.ReadKey();
        }
    }
}

只是以更简单的方式看待问题的另一种方式