C# 求取整数的阶乘

本文主要介绍如何使用C#实现求取一个整数的阶乘。

知识点

1、Switch...Case

判断语句,根据不同情况,返回不同结果

语法结构

csharp 复制代码
switch(Condition)
{
     case Condition1:
     		return Result1;
     case Condition2:
          return Result2;
      ....
      default:
         return Result3
}

2、字符串格式化

csharp 复制代码
 Console.WriteLine("{0}的阶乘为{1}", num, Factorial(num));

3、递归。可以简单理解为重复调用自身,但慎用,容易出现内存溢出情况

csharp 复制代码
        public static double Factorial(int num)
        {
            switch(num)
            {
                case 1://如果输入的数是1,则返回1
                    return 1;
                default:
                    return num * (Factorial(num - 1));
            }
        }

代码

csharp 复制代码
 static void Main(string[] args)
 {
     Console.WriteLine("请输入一个整数:");
     int num = Convert.ToInt32(Console.ReadLine());
     Console.WriteLine("{0}的阶乘为{1}", num, Factorial(num));
     Console.ReadKey();
 }

 public static double Factorial(int num)
 {
     switch(num)
     {
         case 1://如果输入的数是1,则返回1
             return 1;
         default:
             return num * (Factorial(num - 1));
     }
 }
相关推荐
qfljg17 分钟前
OpenRewrite 实战指南
java
Sylvia33.22 分钟前
LOL实时数据接入深度解析:从WebSocket到完整数据模型
java·网络·python·websocket·网络协议
点心的游戏开发世界5 小时前
Unity C# 脚本学习笔记:命名空间与 using
学习·unity·c#
2601_962071576 小时前
【Java报错已解决】org.springframework.beans.factory.BeanCreationException
java·开发语言
zww89491116 小时前
酒馆预约系统开发实战:从需求分析到上线全流程指南
java·eclipse
淡海水7 小时前
07-04-并发-ConcurrentBag-T-工作窃取WorkStealing算法
开发语言·算法·c#·bag·concurrent·workstealing
点心的游戏开发世界7 小时前
Unity C# 脚本学习笔记:泛型
学习·unity·c#
CS_Zero7 小时前
C语言sizeof是函数吗?
c语言·开发语言
-今昭-8 小时前
《V2V 迁移实战:将 VMware 虚拟机转为 OpenStack 可用 Glance qcow2 镜像》
开发语言·python
zww89491119 小时前
匿名树洞系统开发实战:从需求分析到部署指南
java·eclipse