C#基础语法—简单的循环与递归

C#简单的循环(迭代)与递归


1.简单的循环(迭代)
 eg:打印从x到1的整数

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {          
            //调用PrintXTo1函数,打印从5到1的整数
            Calculator c = new Calculator();
            c.PrintXTo1(5); 
        }
    }

    /// <summary>
    /// 自定义的Calculator类
    /// </summary>
    class Calculator
    {
        //打印从x到1的整数
        public void PrintXTo1(int x)
        {
            for (int i = x; i > 0; i--) //从高到低循环
            {
                Console.WriteLine(i);
            }
        }
    }    
}

  运行结果:
在这里插入图片描述


2.简单的递归
递归:一个函数(方法)可以调用自己
 eg:打印从x到1的整数

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {          
            //调用PrintXTo1函数,打印从5到1的整数
            Calculator c = new Calculator();
            c.PrintXTo1(5); 
        }
    }

    /// <summary>
    /// 自定义的Calculator类
    /// </summary>
    class Calculator
    {
        //打印从x到1的整数
        public void PrintXTo1(int x)
        {
            if (x == 1)
            {
                Console.WriteLine(x);
            }
            else
            {
                Console.WriteLine(x);
                PrintXTo1(x - 1); //调用函数本身
            }
        }
    }
}

  运行结果:
在这里插入图片描述


3.练习—计算从1到100的和
①循环:

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            //调用SumFrom1ToX函数,计算从1到3的和
            Calculator c = new Calculator();
            int x = c.SumFrom1ToX(3);
            Console.WriteLine(x);
        }
    }

    /// <summary>
    /// 自定义的Calculator类
    /// </summary>
    class Calculator
    {
        //计算从1到100的和
        public int SumFrom1ToX(int x)
        {
            int result = 0;
            for (int i = 0; i < x + 1; i++)
            {
                result += i;
            }
            return result;
        }
    }
}

  运行结果:
在这里插入图片描述
②递归:

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            //调用SumFrom1ToX函数,计算从1到3的和
            Calculator c = new Calculator();
            int x = c.SumFrom1ToX(3);
            Console.WriteLine(x);
        }
    }

    /// <summary>
    /// 自定义的Calculator类
    /// </summary>
    class Calculator
    {
        //计算从1到100的和
        public int SumFrom1ToX(int x)
        {
            if (x == 1)
            {
                return 1;
            }
            else
            {
                int result = x + SumFrom1ToX(x - 1); //递归
                return result;
            }
        }
    }
}

  运行结果:
在这里插入图片描述
③使用公式计算

namespace Example
{
    class Program
    {
        static void Main(string[] args)
        {
            //调用SumFrom1ToX函数,计算从1到3的和
            Calculator c = new Calculator();
            int x = c.SumFrom1ToX(3);
            Console.WriteLine(x);
        }
    }

    /// <summary>
    /// 自定义的Calculator类
    /// </summary>
    class Calculator
    {
        //计算从1到100的和
        public int SumFrom1ToX(int x)
        {
            return (1 + x) * x / 2; //公式
        }
    }
}

  运行结果:
在这里插入图片描述

发布了44 篇原创文章 · 获赞 29 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/IT_xiao_guang_guang/article/details/104168160