C#练习——判断年份是否为闰年,九九乘法表,十进制转二进制数

来源:互联网 发布:如何当网络写手 编辑:程序博客网 时间:2024/06/14 22:37

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace PracticeReview
{
    class Program
    {
        static void Main(string[] args)
        {
            #region  输入一个十进制数字,计算出对应的二进制数字,以字符串方式输出,如十进制120,输出结果为“1111000”
            //整数:除2取余,逆序排列; 小数:乘2取整,顺序排列;这里以整数为例
            //while (true)
            //{
            //    Console.Write("请输入一个十进制数字:");
            //    int num = Convert.ToInt32(Console.ReadLine());
            //    //将十进制转为二进制方法
            //    string result = GetBinaryNum(num);
            //    Console.WriteLine(result);
            //}
            #endregion


            #region 判断任意一个年份是否为闰年(能被4整除但不能被100整除或者能被400整除)
            //while (true)
            //{
            //    Console.Write("请输入一个年份:");
            //    int year = Convert.ToInt32(Console.ReadLine());
            //    //调用闰年判断方法
            //    bool isLeapYear = IsLeapYear(year);
            //    Console.WriteLine(isLeapYear);
            //}
            #endregion



            #region  输出九九乘法表
            ////九行
            //for (int i = 1; i <= 9; i++)
            //{
            //    //当前i是多少,内部这个循环就循环多少次
            //    for (int j = 1; j <= i; j++)
            //    {
            //        int sum = i * j;
            //        //\t制表符
            //        Console.Write("{0}*{1}={2}\t",j,i,sum);


            //    }
            //    Console.WriteLine();
            //}
            //Console.ReadKey();
            #endregion

        /// <summary>
        /// 判断是否为闰年
        /// </summary>
        /// <param name="year"></param>
        /// <returns></returns>
        private static bool IsLeapYear(int year)
        {
            if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
            {
                return true;
            }
            else
            {
                return false;
            }
        }


        /// <summary>
        /// 获得二进制数
        /// </summary>
        /// <param name="num"></param>
        /// <returns></returns>
        private static string GetBinaryNum(int num)
        {
            #region  顺序排列余数
            ////拼接字符串用StringBuilder
            //StringBuilder str = new StringBuilder();
            //while (num >= 2)
            //{
            //    //商
            //    int consult = num / 2;
            //    //余数
            //    int remainder = num % 2;
            //    //此时字符串是按余数顺序排列的
            //    str.Append(remainder);
            //    //把商赋值给被除数
            //    num = consult;
            //}
            ////num小于2时
            //str.Append(num);
            //return str.ToString();
            #endregion


            #region 除2取余,逆序排列
            List<string> list = new List<string>();
            while (num >= 2)
            {
                //商
                int consult = num / 2;
                //余数
                int remainder = num % 2;
                //将
                list.Add(remainder.ToString());
                //把商赋值给被除数
                num = consult;
            }
            //num小于2时
            list.Add(num.ToString());
            //集合反转
            list.Reverse();
            //将集合转为数组,用空字符串连接
            return string.Join("", list.ToArray());
            #endregion
        }
    }
}

原创粉丝点击