0
点赞
收藏
分享

微信扫一扫

C#基础笔记代码(三)

西特张 2022-04-06 阅读 61
c#

文章目录

前言:


数组

1.数组的遍历输出

static void Main(string[] args)
        {
            int[] nums = new int[10];
            for(int i=0;i<nums.Length;i++)
            {
                nums[i] = i;
            }
            for(int i=0;i<nums.Length;i++)
            {
                Console.WriteLine(nums[i]);
            }
            Console.ReadKey();    
        }

2.数组的最大值,最小值,总和与平均数

static void Main(string[] args)
{
    int[] nums = {1,2,3,4,5,6,7,8,9,0};
    int max = nums[0];
    int min = nums[0];
    int sum = 0;
    //循环的让数组中的每个元素跟我的最大值,最小值进行比较

    for(int i=0;i<nums.Length;i++)
    {
        //关于在循环中nums[i]的理解方式
        //1.代表数组中当前循环到的元素
        //2.代表数组中的每个元素
        //如果数组中当前的循环到的这个元素,比我的max还要大,则把当前这个元素赋给我的max
        if(nums[i]>max)
        {
            max = nums[i];
        }
        if(nums[i]<min)
        {
            min = nums[i];
        }
        sum += nums[i]; 
    }
    Console.WriteLine("这个数组的最大值是{0},最小值是{1},总和是{2},平均值是{3}", max, min, sum, sum / nums.Length);
    Console.ReadKey();
}

3.数组与“+”号的练习

static void Main(string[] args)
        {
            string[] names = { "小马", "小苏", "小虎","小牛","小周" };
            //小马|小苏|小虎|小牛|小周
            //解题思路:通过一个循环,获得字符串数组中的每一个元素。
            //然后,将这个每一个元素都累加到一个字符串中,以|分割
            string str = null;
            for(int i=0;i<names.Length-1;i++)
            {
                str += names[i] + "|";
            }
            Console.WriteLine(str+names[names.Length-1]);
            Console.ReadKey();

        }

4.数组改变元素值

static void Main(string[] args)
{
    int[] nums = { 1, -2, 3, 4, 5, 0 };
    //解题思路:通过一个循环,获得数组中的每一个元素
    //对每一个元素进行判断
    for(int i=0;i<nums.Length;i++)
    {
        if(nums[i]>0)
        {
            nums[i] += 1;
        }
        if(nums[i]<0)
        {
            nums[i] -= 1;
        }
        else
        {

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

5.数组颠倒输出

static void Main(string[] args)
{
    string[] names = { "我", "是", "好人" };
    for (int i = 0; i < names.Length / 2; i++)
    {
        string temp = names[i];
        names[i] = names[names.Length - 1 - i];
        names[names.Length - i - 1] = temp;
    }
    for (int i = 0; i < names.Length; i++)
    {
        Console.Write(names[i]);
    }
    Console.ReadKey();
}

6.冒泡排序

static void Main(string[] args)
{
    int[] nums = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
    for (int i = 0; i < nums.Length - 1; i++)
    {
        for (int j = 0; j < nums.Length - i - 1; j++)
        {
            if (nums[j] < nums[j + 1])
            {
                int temp = nums[j];
                nums[j] = nums[j + 1];
                nums[j + 1] = temp;
            }
        }
    }
    for (int i = 0; i < nums.Length; i++)
    {
        Console.WriteLine(nums[i]);
    }


}

基础方法(函数)

1.输出最大值(方法一)

class Program
{
    static void Main(string[] args)
    {
        //计算两个整数之间的最大值
        int max=Program.Getmax( 1,3);
        Console.WriteLine(max);


    }
    public static int Getmax(int n1,int n2)
    {//计算两个整数之间的最大值并且将返回最大值
        return n1 > n2 ? n1 : n2;
    }
}

2.判断闰年

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

            //举例:写一个方法,判断一个年份是否是闰年
            bool a=isRun(2000);
            Console.WriteLine(a);
        }

        /// <summary>
        /// 判断给定的年份是否是闰年
        /// </summary>
        /// <param name="year">要判断的年份</param>
        /// <returns>是否是闰年</returns>
        public static bool isRun(int year)
        {
            bool b = (year%4==100)||(year%4==0&&year%100!=0);
            return b;
        }
   
    }

3.输出最大值(方法二)

static void Main(string[] args)
    {

        //比较两个数字的大小 返回最大的
        int a = 10;
        int b = 10;
        int temp=GetMax(a,b);//实参
        Console.WriteLine(temp);
    }

    /// <summary>
    /// 计算两个整数之间的最大值 并且返回最大值
    /// </summary>
    /// <param name="n1">第一个数</param>
    /// <param name="n2">第二个数</param>
    /// <returns>返回的最大值</returns>
    public static int GetMax(int n1, int n2)//形参
    {
        int max = n1 > n2 ? n1 : n2;
        return max;
    }

4.读取正确的整数

static void Main(string[] args)
        {
            //1.读取输入的整数
            //2.多次调用(如果用户输入的是数字,则返回,否则提示用户重新输入)
            Console.WriteLine("请输入一个数字");
            string input = Console.ReadLine();
            int number = GetNumber(input);
            Console.WriteLine(number);
        }

        /// <summary>
        /// 这个方法判断用户的输入是否是数字
        /// 如果是数字,则返回
        /// 如果不是数字,提示用户重新输入
        /// </summary>
        public static int GetNumber(string s)
        {
            while(true)
            {
                try
                {
                    int number = Convert.ToInt32(s);
                    return number;
                }
                catch
                {
                    Console.WriteLine("请重新输入");
                    s = Console.ReadLine();
                }
            }
        }

5.用户登录

static void Main(string[] args)
{
    //2.只允许用户输入y或n,请该层方法
    //这个方法做了什么事呢?
    //只能让用户输入yes或者no,只要不是,就重新输入
    Console.WriteLine("请输入y或n");
    string input = Console.ReadLine();
    insert(input);

}

public static void insert(string s)
{
    while (true)
    {
        try
        {
            if ((s == "y") || (s == "n"))
            {
                Console.WriteLine("登录成功");
                break;
            }
            else
            {
                Console.WriteLine("输入错误,请重新输入");
                s = Console.ReadLine();
            }
        }
        catch
        {
            Console.WriteLine("输入错误,请重新输入");
            s = Console.ReadLine();
        }
    }

6.求数组总和

 static void Main(string[] args)
        {
            int[] nums = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
            int sum = Getsum(nums);
            Console.WriteLine(sum);
            Console.ReadKey();
        }

        /// <summary>
        ///计算一个整数类型数组的总和
        /// </summary>
        /// <param name="nums">要求总和的数组</param>
        /// <returns>返回这个数组的总和</returns>
        public static int Getsum(int[] nums)
        {
            int sum = 0;
            for(int i=0;i<nums.Length;i++)
            {
                sum += nums[i];
            }
            return sum;
        }

7.多个返回值放在数组中返回

//函数返回数组		
		static void Main(string[] args)
        {
            //写一个方法 求一个数组中的最大值,最小值,总和,平均值
            int[] numbers = {1,2,3,4,5,6,7,8,9 };
            //将要返回的4个值,放到一个数组中返回

            int[] res = GetMaxMinSumAvg(numbers);
            Console.WriteLine("{0}是最大值,{1}是最小值,{2}是总和,平均值{3}",res[0],res[1],res[2],res[3]);
        }
        /// <summary>
        /// 
        /// </summary>
        /// 计算一个数组的最大值,最小值,总和和平均值
        /// <param name="nums"></param>
        /// <returns></returns>
        public static int[] GetMaxMinSumAvg(int[] nums)
        {
            int[] res = new int[4];
            //假设 res[0] 最大值 res[1]最小值 res[2]总和 res[3]平均值
            res[0] = nums[0];
            res[1] = nums[0];
            res[2] = 0;
            for(int i=0;i<nums.Length;i++)
            {
                //如果当前循环到的元素比我假定的最大值还大
                if(nums[i]>res[0])
                {
                    //将当前循环到的元素赋值给我的最大值
                    res[0] = nums[i];
                }
                if(nums[i]<res[1])
                {
                    res[1] = nums[i];
                }
                res[2] += nums[i];
            }
            res[3] = res[2] / nums.Length;
            return res;
        }
举报

相关推荐

0 条评论