C#简单练习--20241011

using System;
using System.Collections.Generic;

namespace ConsoleApp1
{
    class Program
    {
        //case1--判断两字符串是否一个是属于另一个子字符串问题(sub1是否为sub2的子字符串)
        #region case1-method1
        public static bool SubString(string sub1, string sub2)
        {
            //若sub1的长度大于sub2的长度,则sub1肯定不是sub2的子字符串
            if (sub1.Length > sub2.Length)
            {
                return false;
            }
           
            //首先遍历最长字符串中的所有字符,保证每个字符都获取到,然后和短的字符串进行比较.(若先遍历短字符串,则会到导致长字符串遍历不完全)
            for (int i = 0; i < sub2.Length; i++)
            {
                bool flag = true;
                //判断当sub2中第一次出现与sub1相同的字符时,再进行比较
                if (sub2[i] == sub1[0])
                {
                    //若在sub2中找到sub1第一次出现的字符时,则开始寻找下一个字符
                    for (int j = 0; j < sub1.Length; j++)
                    {
                        flag = flag && (sub2[i + j] == sub1[j]);
                        //Console.WriteLine(sub2[i + j]);
                        //Console.WriteLine(sub1[j]);

                    }
                    if (flag)
                    {

                        return true;
                    }

                }

            }
            return false;
        }
        #endregion

        //case2--编写一个C#程序,计算数组中所有元素的总和。
        #region case2-method1
        public static int SumArray(int[] arr)
        {
            int sum = 0;
            for (int i = 0; i < arr.Length; i++)
            {
                sum += arr[i];
            }
            return sum;
        }

        #endregion

        //case3--编写一个C#程序,计算数组中所有元素的乘积。
        #region case3-method1
        public static int MultiplicationArray(int[] array)
        {
            int multiply = 1;
            for (int i = 0; i < array.Length; i++)
            {
                multiply *= array[i];
            }
            return multiply;
        }

        #endregion

        //case4--编写一个C#程序,计算数组中所有元素的平均值。
        # region case4-method1
        public static int AvgArray(int[] array)
        {
            int sum = 0;
            int avg = 0;
            
            for (int i = 0; i < array.Length; i++)
            {
                sum += array[i];
            }
            avg = sum / (array.Length);
            return avg;
        }
        #endregion

        //case5--编写一个C#程序,找到数组中的最大值。
        #region
        public static int MaxArray(int[] array)
        {          
            int max = array[0]; //令数组中第一个数为最大值,依次进行比对
            for (int i = 0; i < array.Length; i++)
            {
                if (array[i] > max)
                {
                    max = array[i];
                }

            }
            return max;
        }
        #endregion


        //case6--编写一个C#程序,从数组中筛选出所有的偶数,并返回一个新的数组。(通过列表添加新数组)     
        #region
        public static List<int> GetEvens(int[] array)
        {
            List<int> evens_numbers = new List<int>();
            foreach (int item in array)
            {
                if (item % 2 == 0)
                {
                    evens_numbers.Add(item);
                }
            }
            return evens_numbers;
        }
        #endregion

        
        //case7--编写一个C#函数,计算给定非负整数的阶乘。(如:3!=3*2*1)
        #region
        public static int Multiply(int num)
        {          
            if (num < 0)
            {
                Console.WriteLine("请输入非负正整数!");
                //throw new ArgumentException("输入必须是非负整数");
                int mul1 = -1;
                return mul1;    //直接输出-1
            }
            int mul = 1;
            for (int i = 1; i < num+1; i++)
            {
                mul = i * mul;
            }
            return mul;
        }
        #endregion

        //case8--编写一个C#程序,将一个整数数组翻转。
        public static void ReverseArray(int[] array)
        {

        }
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            //case1
            string A = "1abcd";
            string B = "12abc3abc";
            bool Result = SubString(A, B);
            Console.WriteLine(Result);
            Console.WriteLine(SubString("abc", "12ab12abc3"));
            Console.ReadKey();
            Console.WriteLine(SubString("abc", "12ab1abc"));

            //case2
            int[] numbers = { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            Console.WriteLine(SumArray(numbers));

            //case3
            int[] numbers = { 1, 2, 3, 5, 7 };
            Console.WriteLine(MultiplicationArray(numbers));

            //case4
            int[] numbers = { 1, 3, 5, 7, 9 };
            Console.WriteLine(AvgArray(numbers));

            //case5
            int[] numbers = { -1, -3, -5, -7, -9 };
            Console.WriteLine(MaxArray(numbers));

            //case6
            int[] numbers = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            List<int> evenNum = GetEvens(numbers);
            foreach (int item in evenNum)
            {
                Console.WriteLine(item);
            }

            //case7
            Console.WriteLine(Multiply(-5));


            Console.ReadKey();

        }
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

weixin_44119674

觉得有帮助,鼓励下吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值