c#请编写程序,求出 n!【提示:n 的阶乘等于从 1 到 n 的乘积】,n 由键盘输入 n!=1*2*3…..*n?

 我来答
智汇观察
2024-01-22 · 我是一名热爱写作和分享信息的创作者,拥有多年的媒体从业经验和...
智汇观察
采纳数:71 获赞数:29

向TA提问 私信TA
展开全部
```csharp
using System;
class Program
{
static void Main(string[] args)
{
Console.Write("请输入一个正整数n: ");
int n;
if (int.TryParse(Console.ReadLine(), out n) && n >= 0)
{
long factorial = CalculateFactorial(n);
Console.WriteLine($"{n}! 的值为: {factorial}");
}
else
{
Console.WriteLine("输入不合法,必须是非负整数!");
}
}
static long CalculateFactorial(int n)
{
long result = 1;
for (int i = 1; i <= n; i++)
{
result *= i;
// 当结果超出long类型的最大值时,可以提前结束循环并输出错误信息(可选)
if (result > long.MaxValue)
{
throw new OverflowException("计算结果超过了long类型的最大值!");
}
}
return result;
}
}
```
这个C#程序首先会提示用户输入一个正整数n,然后通过`CalculateFactorial`方法计算n的阶乘,并在控制台输出结果。注意,由于阶乘运算可能会导致数值过大超出`long`类型的最大值,所以在计算过程中加入了溢出检查(当结果大于`long.MaxValue`时抛出异常)。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式