c# - 我第二次输入数字时没有得到正确的阶乘答案
问题描述
第二次输入数字时,我没有得到正确的阶乘答案。
using System;
namespace Outcome2
{
class Program
{
static void Main(string[] args)
{
int t, FactR = 1;
do
{
Console.Write("Enter no.: ");
t = Convert.ToInt32(Console.ReadLine());
if (t < 0)
Console.WriteLine("Factorial of Negative number's can't be found ");
else if (t <= 1)
Console.WriteLine("{0}! = {1}", t, FactR);
else
{
for (int counter = t; counter >= 2; counter--)
{
FactR = FactR * counter;
}
Console.WriteLine("{0}! = {1}", t, FactR);
}
Console.WriteLine("Do you wish to quit? Y/N");
} while (Console.ReadKey().KeyChar != 'Y');
}
}
}
解决方案
这可能是因为您没有重置FactR
变量,您可以这样做。
do{
if (t < 0)
Console.WriteLine("Factorial of Negative number's can't be found ");
else if (t <= 1)
Console.WriteLine("{0}! = {1}", t, FactR);
else
{
FactR = 1;
for (int counter = t; counter >= 2; counter--)
{
FactR = FactR * counter;
}
Console.WriteLine("{0}! = {1}", t, FactR);
}
Console.WriteLine("Do you wish to quit? Y/N");
} while (Console.ReadKey().KeyChar != 'Y');
推荐阅读
- google-play-games - 为什么我的游戏未发布版本无法登录 Google Play 游戏?
- wordpress - 如何保存我的 Wordpress 网站的当前外观,以便恢复到旧版本?
- java-native-interface - 使用新的 java 包装器向 linphone 添加新的本机函数
- java - javax.persistence.PersistenceException:没有名为 Money-transfer 的 EntityManager 的持久性提供程序
- python - unicode 错误)“unicodeescape”编解码器无法解码位置 9-10 中的字节
- kml - 在 KML 文件中的 poly 下查找人口普查轨迹
- r - 如何将投影在地理经度和纬度 (`WGS84`) 的矩形表示为常规矩形?
- python - 在 groupby 操作后过滤掉数据框
- visual-studio-code - 有没有办法覆盖 VS CODE 主题(Material Theme)中的特定关键字颜色?
- php - 使用 AJAX 和 Guzzle 6 的并行请求