C#遞迴

來源:互聯網
上載者:User

標籤:

class Program    {        public int jiecheng(int i)        {            if (i == 1)//函數停止繼續調用的條件,函數的出口            {                return i;            }            int sum = i * jiecheng(i-1);            //i=5            //int sum = 5*jiecheng(4);            //int sum = 5*(4*jiecheng(3));            //int sum = 5*(4*(3*jiecheng(2)));            //int sum = 5*(4*(3*(2*jiecheng(1))));            //int sum = 5*(4*(3*(2*1)));            return sum;        }        public double tz(double a)        {            double sum = 0;                if(a==1)                {                    return 2;                }               sum= Math.Pow(2, a);            return sum;        }                /// <summary>        /// 求生兔子,輸入幾個月之後        /// </summary>        /// <param name="i"></param>        /// <returns></returns>        public int abc(int i)    {    int sum=0;    if (i == 1)    {        return 2;    }    sum = i * 2 * abc(i - 1);    return sum;    }        struct jiegouti        {            public string name;            public int piao;        }        public void xuan()        {            ArrayList al=new ArrayList();            jiegouti jgt1=new jiegouti();            jiegouti jgt2 = new jiegouti();            jiegouti jgt3 = new jiegouti();            jiegouti jgt4 = new jiegouti();            jiegouti jgt5= new jiegouti();            jiegouti jgt6 = new jiegouti();            for (int i = 0; i < 20;i++ )            {                Console.WriteLine("請投票(張三1,李四2,王五3,趙六4,馮七5)");                int a = int.Parse(Console.ReadLine ());                switch (a)                {                    case 1:                        jgt1.piao++;                        break;                    case 2:                        jgt2.piao++;                        break;                    case 3:                        jgt3.piao++;                        break;                    case 4:                        jgt4.piao++;                        break;                    case 5:                        jgt5.piao++;                        break;                    default :                        jgt6.piao++;                        break;                }            }            jgt1.name = "張三";            al.Add(jgt1);            jgt2.name = "李四";            al.Add(jgt2);            jgt3.name = "王五";            al.Add(jgt3);            jgt4.name = "趙六";            al.Add(jgt4);            jgt5.name = "馮七";            al.Add(jgt5);            jgt6.name = "廢票";            al.Add(jgt6);                        //冒泡排序            for(int i=0;i<6;i++)            {                for (int j = i; j< 5;j++ )                {                    jiegouti b=(jiegouti )al[i];                    jiegouti b1 = (jiegouti )al[j+1];                    jiegouti b2 = new jiegouti();                    if (b.piao < b1.piao)                    {                        ArrayList zhong = new ArrayList();                        b2.name = "";                        b2.piao = 0;                        zhong.Add(b2 );                        zhong[0] = al[i];                        al[i] = al[j + 1];                        al[j + 1] = zhong[0];                    }                }                           }            jiegouti shuchu = new jiegouti();            shuchu = (jiegouti)al[0];            Console.WriteLine(shuchu.name + shuchu.piao);            Console.WriteLine("廢票" + jgt6.piao);        }        static void Main(string[] args)        {            //Program hanshu = new Program();            //Console.Write("請輸入一個正整數:");            //int a = int.Parse(Console.ReadLine());            //Console.WriteLine("階乘的結果是:"+hanshu.jiecheng(a));            //Console.ReadLine();            //編寫遞迴函式求 2*4*6*……*(2n) 的結果            //Program sh = new Program();            //Console.WriteLine("輸入n");            //int sd = int.Parse(Console.ReadLine());            //int sda = sh.abc(sd);            //Console.WriteLine(sda);            //Console.ReadLine();           //有雌雄一對兔子,每過一個月便可繁殖雌雄各一的一對小兔子。           //問過n個月後共有多少對兔子?            //Console.Write("請輸入第幾個月:");            //double mm = double.Parse(Console.ReadLine());            //Program ss = new Program();            //double  aa= ss.tz(mm);            //Console.WriteLine("兔子的總數是:"+aa);            //Console.ReadLine();            //數組 or集合 or結構體            //5個候選人競選班長:張三,李四,王五,趙六,馮七            //班級中共有20人,20人輪流投票            //只要不是1~5之內的視為作廢   統計            //最後要知道誰的票數最多,當選班長            Program hanshu = new Program();            hanshu.xuan();            Console.ReadLine();            //Program zdy = new Program();            //Console.WriteLine("請輸入你想知道第幾個月後的兔子數:");            //int a = int.Parse(Console.ReadLine());            //Console.WriteLine(zdy.tz(a));            //Console.ReadLine();            //2的3次方            //Console.WriteLine(Math.Pow(2,3));            //Console.ReadLine();        }    }

 

C#遞迴

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.