C#基础--数组+函数

 1.数组的概念-存储相同类型的集合 变量类型[] 数组名称 = new 变量[数组的长度]{内容1,内容2}

#实例
int [] arr1; //不过之后用的时候还是要初始化
int [] arr2 = new int [5]
new int[]{}
{}
 

2.数组的使用

1)数组长度

int[] arry = {1,2,3,4,5,6};
Console.WriteLine(arry.Length);

2)获取数组中的元素

int[] arry = {1,2,3,4,5,6};
Console.WriteLine(arry[0]);

3.二维数组的申明

int[,] arr; //必须初始化
int[,] arr2 = new [2,3];
int[,] arr3 = new [2,3]{ {1,2,3},{2,3,4} }
int[,] arr4 = new [,]{ {1,2,3},{2,3,4} }

 4.二维数组查长度--分别查行和列

int[,] arr4 = new [,]{ {1,2,3},{2,3,4} }
Console.WriteLine(arr4.GetLength(0));
Console.WriteLine(arr4.GetLength(1));

 5.先写进去,在遍历一次

using System;

public class Program
{
    public static void Main()
    {
        int[,] arr = new int[10, 10];
        int count = 1;

        for (int i = 0; i < 10; i++)
        {
            for (int j = 0; j < 10; j++)
            {
                arr[i, j] = count;
                count++;
            }
        }

        for (int i = 0; i < 10; i++)
        {
            for (int j = 0; j < 10; j++)
            {
                Console.Write(arr[i, j] + "\t");
            }
            Console.WriteLine();
        }
    }
}

二。函数

1.函数的申明 static + 变量类型 + 函数名字(参数)

调用时直接函数名字(参数)

static int[] HanShu(int a, int b)
{
    int sum = a + b;
    int pro = a * b;
    return new int[]{sum, pro};
}

2.ref---当你在函数中改变参数的值,只是暂时修改,使用ref将变为全局更改,数组同理

int[] arr = {1,3,4}
static void HanShuRef(ref int[] arr)
{
    arr = new int[]{1,2,3};
}
#调用时
HanShuRef(ref arr);
//out 关键词使用也一样

3.ref--需要赋值     out--必须需要内部赋值

4. 参数过多--params

static cord HanShu(params int[] arr)

5.小作业

using System;
namespace Ref
{
    class Out
    {
        static bool PanDuan(string username, string passworld, out string message)
        {
            if (username == "hxn" && passworld == "0726")
            {
                message = "登陆成功";
                return true;
            }
            else
            {
                if (username != "hxn")
                {
                    message = "用户名错误";
                    return false;
                }
                else
                {
                    message = "用户密码错误";
                    return false;
                }
            }
        }
        static void Main(string[] args)
        {

            Console.WriteLine("请输入用户名");
            string username = Console.ReadLine();
            Console.WriteLine("请输入密码");
            string Password = Console.ReadLine();
            bool result = PanDuan(username, Password, out string message);
            Console.WriteLine(message);
            Console.WriteLine(result);

        }
    }
}
using System;

namespace SumAndAverage
{
    class Program
    {
        static void Main(string[] args)
        {
            // 调用SumAndAverage函数,并将数字作为参数传递
            double sum, avg;
            SumAndAverage(out sum, out avg, 1, 2, 3, 4, 5, 6, 7, 8, 9, 100);

            // 输出结果
            Console.WriteLine($"和为:{sum}"  );
            Console.WriteLine($"平均数为:{avg}");
            Console.ReadLine();
        }

        static void SumAndAverage(out double sum, out double avg, params int[] nums)
        {
            sum = 0;
            foreach (int num in nums)
            {
                sum += num;
            }
            avg = sum / nums.Length;
            
        }
    }
}

6.函数重载:同一语句块--函数名相同但是函数参数不同 | 参数位置不同。--提升代码的可读性

ref -out不能同时修饰重载函数 

using System;
namespace Tset
{
    class Comepare
    {
        static void Cpr(int a, int b)
        {
            if(a < b)
            {
                Console.WriteLine(b);
            }
            else
            {
                Console.WriteLine(a);
            }
        }
        static void Cpr(float a, float b)
        {
            if (a < b)
            {
                Console.WriteLine(b);
            }
            else
            {
                Console.WriteLine(a);
            }
        }
        static void Cpr(double a, double b)
        {
            if (a < b)
            {
                Console.WriteLine(b);
            }
            else
            {
                Console.WriteLine(a);
            }
        }

        static void Main(string[] args)
        {
            Console.WriteLine("ok");
            Cpr(1.1f, 3.4f);
        }
    }
}
using System;

namespace Tset
{
    class Compare
    {
        static int Cpr(out int message, params int[] nums)
        {
            message = nums[0];
            for (int i = 1; i < nums.Length; i++)
            {
                if (nums[i] > message)
                {
                    message = nums[i];
                }
            }
            return message;
        }

        static void Main(string[] args)
        {
            Console.WriteLine("ok");
            int message;
            Cpr(out message, 1, 3, 6, 23, 65, 2, 1, 88);
            Console.WriteLine(message);
        }
    }
}

递归函数--在函数中调用函数--必须要能停止

using System;

namespace DiGui
{
    class Digui
    {
        static void Main()
        {
            static void Print(int a = 1)
            {
                if (a < 11)
                {
                    Console.WriteLine(a);
                    ++a;
                    Print(a);
                }
            }
        
            Print();
        }
    }
}
using System;

namespace DiGui
{
    class Digui
    {
        static int Jiecheng(int a)
        {
            if (a == 1)
            {
                return 1;
            }
            else
            {
                return a * Jiecheng(a - 1);
            }
        }

        static void Main()
        {
            int result = Jiecheng(5);
            Console.WriteLine(result);
        }
    }
}

你可能感兴趣的:(算法,c++,数据结构)