c#之数组

1.

20.
数组
 //类型[] 数组变量名=new 类型[数量];
            // int[] nums = new int[5];第一种方式
            int[] nums = { 21,32,565,23,23,56,22,36,56,2,3};//第二种
            int min =nums[0] ;
            int sum = 0;
            for (int i = 0; i < nums.Length; i++)
            {
                if (nums[i]<min)
                {
                    min = nums[i];
                }
                sum += nums[i];
            }
            Console.WriteLine(min);
            Console.WriteLine(sum);



            //int[] nums = new int[5] {45,545,66,23,56};//第三种
            // int[] nums = new int[] { 45,622,355,60,5,665,23};第四种
            //int[] nums = new int[5];
            //nums[0] = 10;
            //nums[4] = 60;
            //Console.WriteLine(nums.Length);

            //for (int i = 0; i < nums.Length; i++)
            //{
            //    Console.WriteLine(nums[i]);
            //}

Array.Clear(nums,1,2)//清除
Array.indexof(nums,96)//索引位置
Array.Reverse(nums)//反转
Array.Sort(nums)//冒泡排序
    
 int[] nums = new int[5];
            //for (int i = 0; i < nums.Length; i++)
            //{
            //    Console.WriteLine(nums[0]);
            //}
            nums[0] = 45;
            nums[1] = 56;
            nums[2] = 96;
            nums[3] = 56;
            nums[4] = 43;
            int num = nums.Max();//求最大值
            int min = nums.Min();//求最小值
            int temp = nums.Sum();//求和
            //  Array.Clear(nums,1,2);
            int index = Array.IndexOf(nums, 96);//寻找96所在数组的索引值
            Array.Reverse(nums);//数组反转
            Array.Sort(nums);//数组从小到大排序
            int index1 = Array.LastIndexOf(nums, 56);//查找最后一个出现的56的索引
            Console.WriteLine(index1);
            //  Console.WriteLine(num);
            Console.WriteLine();
            //int max = int.MinValue;
            //foreach (var num1 in nums)//foreach不用管集合的长度可以直接遍历集合
            //{
            //    //if (max < num)
            //    //{
            //    //    max = num;
            //    //}
            //    Console.WriteLine(num1);
            //}
            //Console.WriteLine(max);

2.多维数组

int[,] nums = new int[2, 3];//两行三列的二维数组
            int[,] numss = { {2,3,5},{5,6,8}};
            int[, ,] numsss = {{{5,6,8},{5,6,9}},{{3,6,8},{9,8,6}} };
          //  Console.WriteLine(nums.Length);
            nums[0, 0] = 25;
            nums[1, 2] = 32;
            nums[0, 1] = 63;
            nums[0, 2] = 64;
            nums[1, 1] = 24;
            nums[1, 0] = 98;
            //for (int i = 0; i < numss.GetLength(0); i++)
            //{
            //    for (int j = 0; j < numss.GetLength(1); j++)
            //    {
            //        Console.Write(numss[i, j] + "    ");
            //    }
            //    Console.WriteLine();
            //}
            foreach (var item in numsss)
            {
                Console.WriteLine(item);
            }

            //2,3,6
            //6,8,3

3.元素反转

using System;

namespace _007_元素反转
{
    class Program
    {
        static void Main(string[] args)
        {
            string[] nums = { "", "", "好人" };
            string a = nums[0];//a=我
            //int b =nums.Length;
            for (int i = 0; i < nums.Length/2 ; i++)//如果循环3次又回到了原位
            {
                a = nums[i];//a[0]=我,a=是,a= 我
                nums[i] = nums[nums.Length - i - 1];//num[0]=好人,num[1]=是,num[2]=好人
                nums[nums.Length - i - 1] = a;//num[2]=我,num[1]=是,num[0]=我

              
            }
            foreach (var item in nums)
            {
                Console.WriteLine(item);
            }
        }
    }
}

4.输出菱形

using System;

namespace _008_for输出菱形
{
    class Program
    {
        static void Main(string[] args)
        {
            for (int i = 1; i <= 9; i++)
            {
                for (int j = i; j <= 8; j++)
                {
                    Console.Write(" ");
                }
                for (int z = 1; z < 2*i; z++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
            for (int x = 1; x < 9; x++)
            {
               
                for (int y = 1; y <= x; y++)
                {
                    Console.Write(" ");
                }                             //9,10,11,12,13,14,15,16,17
                for (int h = 1  ; h < (9 - x) * 2; h++)//15,13,11, 9, 7, 5 ,3, 1
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }
        }
    }
}

5.判断位数

using System;

namespace _009_判定位数
{
    class Program
    {
        static void Main(string[] args)
        {
            while (true)
            {
                Console.WriteLine("请输入一个数");
                //string index = Console.ReadLine();
                //int a = index.Length;
                // Console.WriteLine(a);
                int index = int.Parse(Console.ReadLine());
                int a = index/10;
                int b = 0;
                while (true)
                {
                    if (a == 0)
                    {
                        b++;
                        break;
                    }
                    else
                        b++;
                    a = a / 10;
                }
                Console.WriteLine(b);
            }
        }
    }
}

6.判断最大值和次大值

using System;

namespace _011_while求最大最小
{
    class Program
    {
        static void Main(string[] args)
        {
            //判断最大值与次大值
            //double[] nums = new double[10];
            //double max1 = double.MinValue;
            //double max2 = double.MaxValue;
            //int i = 0;
            //while (i < 10)
            //{
            //    nums[i] = double.Parse(Console.ReadLine());
            //    if (max1 < nums[i])
            //    {
            //        max2 = max1;
            //        max1 = nums[i];
            //    }
            //    else if (max2 < nums[i])
            //    {
            //        max2 = nums[i];
            //    }
            //    i++;
            //}
            //Console.WriteLine("最大数为{0}
次大数为{1}", max1, max2);
            //Console.ReadKey();
            int[] nums = new int[10];
            int i = 0;
            while (i < 10)
            {
                Console.WriteLine("请输入数字");
                nums[i] = int.Parse(Console.ReadLine());
                i++;
            }
            for ( i = 0; i < nums.Length; i++)
            {
                for (int j = 0; j < nums.Length-1-i; j++)
                {
                    if (nums[j] < nums[j + 1])
                    {
                        int temp = nums[j + 1];
                        nums[j + 1] = nums[j];
                        nums[j] = temp;
                    }
                }
            }
            foreach (var item in nums)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("最大值为"+nums[0]+"次大值为"+nums[1]);
        }

    }
    }

7.排序

using System;

namespace _012_数字排序
{
    class Program
    {
        static void Main(string[] args)
        {

            int[] nums = { 5, 8, 4, 21, 35, 1 };
            /*第一种升序排序
            Array.Sort(nums);
            foreach(var item in nums)
            {
                Console.WriteLine(item);
                
            }

    */          //第二种
    /*
            for (int i = 0; i < nums.Length - 1; i++)
            {
                for (int j = 0; j < nums.Length - 1; j++)
                {
                    if (nums[j] > nums[j + 1])
                    {
                        int temp = nums[j];
                        nums[j] = nums[j + 1];
                        nums[j + 1] = temp;
                    }
                }
            }
            foreach (var item in nums)
            {
                Console.WriteLine(item);
            }
            */
            //降序排序
            for (int i = 0; i < nums.Length ; i++)
            {
                for (int j = 0; j < nums.Length - 1-i; j++)
                {
                    if (nums[j] < nums[j + 1])
                    {
                        int temp = nums[j];
                        nums[j] = nums[j + 1];
                        nums[j + 1] = temp;
                    }
                }
            }
            foreach (var item in nums)
            {
                Console.WriteLine(item);
            }
        }
    }
}

8.

 编写一个程序,要求用while循环语句,打印1到100的正整数,每行打印5个数,每列右对齐

using System;

namespace _005_while打印整数
{
    class Program
    {
        static void Main(string[] args)
        {
            int a = 0;
            int i = 1;
            while (i < 101)
            {
                a++;
                if (a <= 5)
                {
                    Console.Write("{0,10:f0}", i);
                }
                else
                {
                    a = 1;

                    Console.WriteLine();
                    Console.Write("{0,10:f0}", i);
                }
                i++;
            }

        }
    }
}

9.

编一个程序,利用for循环语句,求出1!+2!+3!+...+10!的和

using System;

namespace _006_求和
{
    class Program
    {
        static void Main(string[] args)
        {
            // 编一个程序,利用for循环语句,求出1!+2!+3!+...+10!的和
            //1*1+1*2+1*2*3+1*2*3*4........+1*2*3*4*5*6*7*8*9*10=




            int sum = 0;
            int jc = 1;
            
                for (int j = 1; j <= 10; j++)
                {
                    jc = jc * j;
                    sum = sum + jc;

                }

            
            Console.WriteLine(sum);
        }
    }
}

10.编一个程序,定义数组,用for循环语句,顺序输入10个实数,然后逆序输出这10个数。

using System;

namespace _007_排序
{
    class Program
    {
        static void Main(string[] args)
        {
            int []nums = { 1, 5, 6, 4, 2, 3, 7, 8, 9, 10 };
            //顺序
            for (int i = 0; i < nums.Length; i++)
            {
                for (int j = 0; j < nums.Length-1-i; j++)
                {
                    if (nums[j] > nums[j + 1])
                    {
                        int temp = nums[j];
                        nums[j] = nums[j + 1];
                        nums[j + 1] = temp;
                    }
                }
            }
            foreach(var item in nums)
            {
                Console.WriteLine(item);
            }
            //逆序
            for (int i = 0; i < nums.Length; i++)
            {
                for (int j = 0; j < nums.Length-1-i; j++)
                {
                    if (nums[j] < nums[j + 1])
                    {
                        int temp = nums[j];
                        nums[j] = nums[j + 1];
                        nums[j + 1] = temp;
                    }
                }
            }
            foreach (var item1 in nums)
            {
                Console.WriteLine(item1);
            }
        }
    }
}

11.

用while 打印乘法打印九九乘法表

using System;

namespace _008_九九乘法表
{
    class Program
    {
        static void Main(string[] args)
        {
            int i = 1;
            
            while (i < 10)
            {
                int j = 1;
                while (j <10)
                {
                    
                    Console.Write(i+"*"+j+"="+(i*j)+"	");
                    j++;
                }
               
                Console.WriteLine();
                i++;
            }
        }
    }
}

12.

输入两个正正数m,n,求出他们的最小公倍数和最大公约数。

using System;

namespace _010_公倍数公约数
{
    class Program
    {
        static void Main(string[] args)
        {
            //最大公约数
            Console.WriteLine("请输入两个正整数:");
            int m = int.Parse(Console.ReadLine());
            int n = int.Parse(Console.ReadLine());
            int c = 0;
            if (m > n)
            {
                c = m;
                m = n;
                n = c;
            }
            for (int i = m; i >= 1; i--)
            {
                if (m % i == 0 && n % i == 0)
                {
                    Console.WriteLine("最大公约数为" + i);
                    break;
                }
            }
            //最小公倍数
            for (int i = n; i<=m*n; i++)

                if (i%m==0&&i%n==0)

                {
                    Console.WriteLine("最小公倍数为"+ i);

                    break;
                }

        }
    }
    }
莫说我穷的叮当响,大袖揽清风。 莫讥我困时无处眠,天地做床被。 莫笑我渴时无美酒,江湖来做壶。
原文地址:https://www.cnblogs.com/huang--wei/p/9425513.html