C#阶乘求和

来源:互联网 发布:服装连锁店软件 编辑:程序博客网 时间:2024/04/29 18:20

对C#初学者起练习作用 有些不完善 帮助修改:

 using System;
using System.Collections.Generic;
using System.Text;

namespace jiecheng
{
    class Program
    {
        static void Main(string[] args)
        {

            Console.WriteLine("欢迎使用简单阶乘求和!");
            Console.WriteLine("-------------------------------------------------------------------");
            string str = "Y";
            while (str == "Y")
            {
                Console.WriteLine("请输入操作阶乘个数:");
                int num = int.Parse(Console.ReadLine());
                int[] data = new int[num];
                for (int i = 0; i < data.Length; i++)
                {
                    Console.WriteLine("请输入{0}第个阶乘数:", i + 1);
                    data[i] = int.Parse(Console.ReadLine());

                    suanfa diaoyong = new suanfa();//初始化调用
                    int b = diaoyong.factorial(data[i]);
                    Console.WriteLine("{0}的阶乘是{1}",data[i],b);
                }

                int sum = 0;
                for (int j = 0; j < data.Length; j++)
                {
                    suanfa diaoyong = new suanfa();//初始化调用
                    int b = diaoyong.factorial(data[j]);
                    sum += b;
                }
                Console.WriteLine("所有阶乘之和结果为{0}", sum);
                Console.WriteLine("输入y继续其它,任意键退出");
                Console.WriteLine("-------------------------------------------------------------------");
                str = Console.ReadLine();

                if (str != "Y")
                {
                    break;
                }
                //suanfa diaoyong =new suanfa ();
                //int num = 0;
                //num = int.Parse(Console.ReadLine());
                // int sum=0;
                //   for(int i=1;i<=num;i++)
                //   {
                //     int a=diaoyong.factorial(i);
                //     sum+=a;

                //   }
                //Console.WriteLine(sum);
                //Console.Read();
            }

        }
        public class suanfa
        {
            public int factorial(int n)//记得一定要用long返回类型,不然数值大了就成负数了哦
            {
                if (n == 1 || n <= 0) return 1;
                else return n * factorial(n - 1);
            }

        }
    }
}