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));
     }
 }
相关推荐
风继续吹..1 分钟前
C# 文件 IO 实操练习题 5道
开发语言·c#
苦荞米14 分钟前
C#中,Ticks不能作为时间戳使用。
c#
LCG元30 分钟前
RAG工程指南:从基础检索到生产部署全解析
java·运维·数据库
Dust-Chasing39 分钟前
Claude Code源码剖析 - Phase3
开发语言·人工智能·学习
石榴树下的七彩鱼43 分钟前
医疗票据 OCR 识别 API 多场景落地指南:医保结算 + 商保理赔 + 医疗信息化(附 Python/Java 完整示例)
java·python·ocr·石榴智能·医疗票据ocr·医保结算·ocrapi
C137的本贾尼1 小时前
Spring AI Alibaba 开箱:国产百炼大模型初体验
java·人工智能·spring
吴可可1231 小时前
Teigha处理CAD样条曲线的方法解析
数据库·算法·c#
XS0301061 小时前
并发编程三
开发语言·c#
idingzhi1 小时前
A股量化策略日报(2026年05月22日)
android·开发语言·python·kotlin
金銀銅鐵1 小时前
[Java] 如何理解 class 文件中字段的 access flags?
java·后端