[可视化编程]计算阶乘和
Posted Spring-_-Bear
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[可视化编程]计算阶乘和相关的知识,希望对你有一定的参考价值。
实验要求
输入正整数n(int类型),输出1!+2!+……+n!的值。用try catch语句捕获整型溢出。
效果展示
源码
using System;
namespace factorialSum
class factorialSum
static void Main(string[] args)
int number, result = 0; //result表示最终结果
int flag = 1, item = 1; //用flag作为标志控制阶乘和结果是否需要输出,item表示第i项的阶乘值
Console.Write("Please input a number:"); //输入提示
string s = Console.ReadLine();
number = Int32.Parse(s);
//输入的数为0,则0!=1
if (number == 0)
Console.WriteLine("\\n0!=1");
//当输入的数为负值时,循环输入,直至输入正整数或0
while (number < 0)
Console.Write("您输入的数是负数!!!\\n请重新输入:");
s = Console.ReadLine();
number = Int32.Parse(s);
if (number == 0) //0!为1
Console.WriteLine("\\n0!=1");
try
for (int i = 1; i <= number; i++)
item *= i; //计算第i项的阶乘值
result =checked(result+ item); //累加item,得1~number的阶乘和
catch(OverflowException e)
//捕获计算溢出异常
flag = 0; //修改标志变量flag的值,溢出时不输出最终阶乘和即result的值
Console.WriteLine("\\nArithmetic operation resulted in an overflow!\\n"); // 打印异常信息
if (flag != 0 && number != 0) //不溢出时输出result的值
Console.WriteLine("\\nThe sum from 1! to " + number + "! = " + result);
以上是关于[可视化编程]计算阶乘和的主要内容,如果未能解决你的问题,请参考以下文章