用C#编写九九乘法口诀、菱形、水仙花数

 

作业

1.输出一个菱形(上有十行,下有九行)

C#代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleShui

{

    class Program

    {

        /**********************输出菱形**********************/

        static void Main(string[] args)

        {

            int i;

            int j;

            int k;

            for (i = 0; i <=10; i++)                /*输出上面10行的**/

            {

                for(j = 0; j <10 - i; j++)    

                    Console.Write(" ");               /*输出*前面的空格*/

                for (k = 0; k <2 * i-1; k++)

                    Console.Write("*");          /*输出一行(若干个)**/

                Console.WriteLine();

            }

            for (i = 0; i <= 9; i++)                 /*输出下面9**/

            {

                for (j = 0; j<=i;j++)

                    Console.Write(" ");              /*输出*前面的空格*/

                for (k = 0; k<17-2 * i; k++)

                    Console.Write("*");          /*输出一行(若干个)**/

                Console.WriteLine();

            }

            Console.Read();

        }

    }

}

2.输出九九乘法口诀

C#代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Consolezeng

{

    class Program

    {  

        /*************输出九九乘法口诀***************/

        static void Main(string[] args)

        {

            string str = " ";

            int i;

            int j;

            int sum;

            for (i = 1; i < 10; i++)

            {

                for (j = 1; j <=ij++)

                {

                    sum = j * i;

                    Console.Write(i);

                    Console.Write("*");

                    Console.Write(j);

                    Console.Write("=");

                    Console.Write(sum);

                    Console.Write(str);

                }

                Console.WriteLine();

            }

            Console.Read();

        }

    }

}

3.输出水仙花数

C#代码:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace NarcissusNumber

{

    class Program

    {

        static void Main(string[] args)

        {

            int a;

            string s;

            do

            {

                Console.WriteLine("3----找出三位数所有的水仙花数!");

                Console.WriteLine("4----找出四位数所有的水仙花数!");

                Console.WriteLine("5----找出五位数所有的水仙花数!");

                Console.WriteLine("34---你选择找出三、四位数的水仙花数!");

                Console.WriteLine("45---你选择找出四、五位数的水仙花数!");

                Console.WriteLine("35---你选择找出三、四、五位数的水仙花数!");

                Console.WriteLine("0----退出");

                Console.Write("请选择操作(0345, 34, 45, 35):");

                sConsole.ReadLine();

                a = int.Parse(s);

                switch (a)

                {

                    case 0:Console.WriteLine("你选择退出!");

                        break;

                    case 3:Console.WriteLine("你选择找出三位数的水仙花数!");

                           Funtion(a);

                        break;

                    case 4:Console.WriteLine("你选择找出四位数的水仙花数!");

                        Funtion(a);

                        break;

                    case 5:Console.WriteLine("你选择找出五位数的水仙花数!");

                        Funtion(a);

                        break;

                    case 34: Console.WriteLine("你选择找出三、四位数的水仙花数!");

                        Funtion(a);

                        break;

                    case 45: Console.WriteLine("你选择找出四、五位数的水仙花数!");

                        Funtion(a);

                        break;

                    case 35: Console.WriteLine("你选择找出三、四、五位数的水仙花数!");

                        Funtion(a);

                        break;

                    defaultConsole.WriteLine("你的输入是不合理的!请重先选择!");

                        break;

                }

                Console.WriteLine();

               // Console.Clear();              /*清屏*/

            } while (a!=0);  

        }

        /*******************输出水仙花数的算法*******************************/

        static int Funtion(int s)    

        {

            int i;

            int j;

            int k;

            int n;

            int m;

            int l;

            if (s==3)                  /*输出100-999的水仙花数*/

            {

                for(n=100;n<999;n++)

                {

                    i = n / 100;

                    j = n / 10 - i * 10;

                    k = n % 10;

                    if (n==Recursion(i,s) + Recursion(j,s) + Recursion(k,s))

                        Console.WriteLine(n);

                }

            }

            else if (s == 4)               /*输出1000-9999的水仙花数*/

            {

                for (n = 1000; n <= 9999; n++)

                {

                    i = n / 1000;

                    j = n / 100 - i * 10;

                    k = n / 10 - i * 100 - j * 10;

                    l = n % 10;

                    if (n == Recursion(is) + Recursion(js) + Recursion(ks) + Recursion(ls))

                        Console.WriteLine(n);

                }

            }

            else if(s==5)                     /*输出10000-99999的水仙花数*/

            {

                for (n = 10000; n <= 99999; n++)

                {

                    i = n / 10000;

                    j = n / 1000 - i * 10;

                    k = n / 100 - i * 100 - j * 10;

                    l = n / 10 - i * 1000 - j * 100 - k * 10;

                    m = n % 10;

                    if (n == Recursion(is) + Recursion(js) + Recursion(ks) + Recursion(ls) + Recursion(ms))

                        Console.WriteLine(n);

                }

            }

            else if (s ==34)                 /*输出100-9999的水仙花数*/

            {

                for (n = 100; n <= 9999; n++)

                {

                    i = n / 1000;

                    j = n / 100 - i * 10;

                    k = n / 10 - i * 100 - j * 10;

                    l = n % 10;

                    if (i != 0 && n==Recursion(i, 4) + Recursion(j, 4) + Recursion(k, 4) + Recursion(l, 4))

                        Console.WriteLine(n);

                    if (n== Recursion(j, 3) + Recursion(k, 3) + Recursion(l, 3))

                        Console.WriteLine(n);

                }

            }

            else if(s == 45)                 /*输出1000-9999的水仙花水*/

            {

                for (n = 1000; n <= 99999; n++)

                {

                    i = n / 10000;

                    j = n / 1000 - i * 10;

                    k = n / 100 - i * 100 - j * 10;

                    l = n / 10 - i * 1000 - j * 100 - k * 10;

                    m = n % 10;

                    if (i != 0 && n == Recursion(i, 5) + Recursion(j, 5) + Recursion(k, 5) + Recursion(l, 5) + Recursion(m, 5))

                        Console.WriteLine(n);

                    if (n == Recursion(j, 4) + Recursion(k, 4) + Recursion(l, 4) + Recursion(m, 4))

                        Console.WriteLine(n);

                    

                }

            }

            else                         /* 输出100-99999的水仙花数*/

            {

               for (n = 100; n <= 99999; n++)

                {

                    i = n / 10000;

                    j = n / 1000 - i * 10;

                    k = n / 100 - i * 100 - j * 10;

                    l = n / 10 - i * 1000 - j * 100 - k * 10;

                    m = n % 10;

                    if (i != 0 && n == Recursion(i, 5) + Recursion(j, 5) + Recursion(k, 5) + Recursion(l, 5) + Recursion(m, 5))

                        Console.WriteLine(n);

                    else if (j != 0 && n == Recursion(j, 4) + Recursion(k, 4) + Recursion(l, 4) + Recursion(m, 4))

                        Console.WriteLine(n);

                    else if (n== Recursion(k, 3) + Recursion(l, 3) + Recursion(m, 3))

                        Console.WriteLine(n);

                }

            }

            return 0;

        }

        /*********************用递归求数nk次方*******************************/

        static int Recursion(int n,int k)

        {

            int m;

            if (k == 1) return n;

            else

            {

                 m=n*Recursion(n,k-1);

            }

            return m;

        }

    }

}

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值