c#基础练习题

1.编写一个方法,计算给定int数组的和

复制代码
 class Program
    {
        static void Main(string[] args)
        {
            //1.编写一个方法,计算给定int数组的和
            int[] num = { 1,2,3};
            int sum = Sum(num);
            Console.WriteLine(sum);//6
            Console.ReadKey();
        }
        /// <summary>
        /// 求int数组之和
        /// </summary>
        /// <param name="nums">数值类型的数组</param>
        /// <returns>返回这个数组之和</returns>
        static int Sum(int[] nums)
        {
            //声明一个变量来保存总和
            int sum = 0;
            for (int i = 0; i < nums.Length; i++)
            {
                sum += nums[i];
            }
            return sum;//返回总和
        }
    }
复制代码

2.提示用户输入一个整数N,生成一个int数组,数组长度为N

复制代码
 class Program
    {
        static void Main(string[] args)
        {
            /**
             * 提示用户输入一个整数N,生成一个int数组,数组长度为N
             * 并且内容为{1,2,3....n} 这样一个Int数组,注意不是返回“字符串”
             * **/

            Console.WriteLine("请输入一个整数");
            int num = int.Parse(Console.ReadLine());
            //声明一个空数组
            int[] numBer = new int[num];
            //循环添加数字去数组里面
            for (int i = 0; i < num; i++)
            {
                numBer[i] = i + 1;
            }
            //循环打印这个数组
            foreach (var item in numBer)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }
       
    }
复制代码

3.编写一个方法,bool IsEquals(int[]nums1,int[]nums2) 比较两个数组的内容是否相等。

复制代码
 class Program
    {
        static void Main(string[] args)
        {
            //3.编写一个方法,bool IsEquals(int[]nums1,int[]nums2) 比较两个数组的内容是否相等。
            int[] n1 = { 1,1};
            int[] n2 = { 1, 2, 3 };
            Console.WriteLine(IsEauqls(n1, n2));
            Console.ReadKey();
        }

        static bool IsEauqls(int[] num1, int[] num2)
        { 
            //先判断两个数组长度是否相等
            if (num1.Length != num2.Length)
            {
                return false;
            }
            //长度相等,在判断里面的内容是否相等
            for (int i = 0; i < num1.Length; i++)//长度一样,任意取一个数组长度进行循环
            {
                if (num1[i] != num2[i])
                {
                    return false;
                }
            }
            return true;
        }
       
    }
复制代码

4.编写方法getmax,它带有3个int 型参数a,b,c,返回a,b,c这三个数的最大值

复制代码
 class Program
    {
        static void Main(string[] args)
        {
            //4.编写方法getmax,它带有3个int 型参数a,b,c,返回a,b,c这三个数的最大值。
            Console.WriteLine(GetMax(4,100,6));
            Console.ReadKey();
        }

        static int GetMax(int a, int b, int c)
        {
            int[] nums = { a, b, c };
            int max = nums[0];
            for (int i = 0; i < nums.Length; i++)
            {
                if (nums[i] > max)
                {
                    max = nums[i];
                }
            }
            return max;
        }
       
    }
复制代码

5. 给定一个int数组:int[] nums = {3,5,9,2,22,12};写一个方法int[] Reverse(int[] nums),对数组进行反向处理。也就是返回:{12,22,2,9,5,3} 这样一个int数组

复制代码
 class Program
    {
        static void Main(string[] args)
        {
            int[] nums = { 11, 22, 33, 44 };
            int[] n2 = Reverse(nums);
            foreach (var item in n2)
            {
                Console.WriteLine(item);
            }
            Console.ReadKey();
        }

        static int[] Reverse(int[] nums)
        {
            int[] tempNums = new int[nums.Length];
            //{33,55,22,3,5}
            //0个值:5-0-1(4)第0个值对应第4个
            //0:5-i-1;
            for (int i = 0; i < nums.Length; i++)
            {
                tempNums[nums.Length - i-1] = nums[i];
            }
            return tempNums;
        }
复制代码

6.用户输入年,月,日,计算该日是该年的第几天?需要考虑2月份的问题

复制代码
class Program
    {
        static void Main(string[] args)
        {
            //用户输入年,月,日,计算该日是该年的第几天?需要考虑2月份的问题
            int year = 2015;
            int month = 5;
            int day = 8;

            //计算是哪年 哪月 哪日
            //1,3,5,7,8,10,12是31
            //闰年29天,平年28天
            //4,6,9,11是30天
            //占时认为2月份是28天

            //储存每个月的天数,查表法
            int[] data = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };

            //3月5日:第0个月+第一个月+5天
            //2月5日:31+5

            int days = 0;
            for (int i = 0; i < month-1; i++)
            {
                days += data[i];
            }
            days += day;
            if (month > 2)//如果月份大于2,则看是否需要补一天
            {
                //判断是否是闰年,能被 4 整除 但是不能被100整除 或者能被四百整除
                if (IsRun(year))
                {
                    days++;//如果是闰年,加一天
                }
            }
            Console.WriteLine(days);
            
            Console.ReadKey();
        }

        //判断闰年的方法
        static bool IsRun(int year)
        {
            if((year%4==0 && year%100!=0)||year%400==0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }
    }
复制代码

7.

问答:

int i=0;

Console.WriteLine(i++);

int j=0;

Console.WriteLine (++j);

int z=0;

Console.WriteLine (z=z+1);

的输出分别是什么?为什么?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值