c#第四天

using System;
/*
 * 数组
 * 1.数组是一种数据结构
 * 2.数组是一种简单的引用类型的数据
 * 3.数组存储的都是同一种类型的数据
 * 4.数组大小一旦定义之后就不能更改,数组中的元素都是连续存储的
 * 5.数组访问都是从0开始,最后一个元素长度-1.注意访问的时候不要越界,会报错
 * 6.数组定义之后就有默认值,每种数据类型都有默认值,值班是要自己赋值
 * 
 * 
 * var表示任何一种数据的变量类型
 */
namespace c语言4
{
    class Program
    {
        static void Main(string[] args)
        {
            
            Console.WriteLine("Hello World!");
            #region 1:计算1到100之间的自然数之和,奇数之和,偶数之和。
            /*
             int num = 0, num1 = 0, num2 = 0 ;
             for (int i = 0; i <= 100; i++)
             {
                 num += i;
             }
             for (int j = 0; j <= 100; j+=2)
             {
                 num1 += j;
             }
             for (int k = 1; k <= 100; k+=2)
             {
                 num2 += k;
             }
             Console.WriteLine("自然数之和为:{0},偶数之和为:{1},奇数之和为:{2}" ,num,num1,num2);
             */
            #endregion

            #region 2:编写一个程序,求12+22+32+42+….+202的值
            /*
            int num = 12;
            int sum = 0;
            while(num <= 202)
            {
                sum += num ;
                num += 10;
            }
            Console.WriteLine("12+22+32+42+….+202的值为:" + sum);
            */
            #endregion

            #region 3:找出1-100之间所有是7的倍数或者个位是7或者十位是7的数字进行输出并统计其个数
            /*
            int num = 0;
            Console.WriteLine("1-100之间所有是7的倍数或者个位是7或者十位是7的数字有:");
            for (int i = 1; i <= 100; i++)
            {
                
                 //if (i%7==0)
                 //{
                 //    num++;
                 //    Console.Write("\t" + i);
                 //    continue;
                 //}
                 //if (i%10==7)
                 //{
                 //    num++;
                 //    Console.Write("\t" + i);
                 //    continue;
                 //}
                 //if (i/10==7)
                 //{
                 //    num++;
                 //    Console.Write("\t" + i);
                 //}
                 
                if (i % 7 == 0||i % 10 == 7||i / 10 == 7)
                {
                    num++;
                    Console.Write("\t" + i);
                }
                
            }
            
            Console.WriteLine("\t\t\t\t\t\t\t\t\t\t\t\t\t\t个数为"+num );
            */
            #endregion

            #region 4:输出所有“水仙花数”,并统计其数量。所谓水仙花数是指一个3位数,其各位数字的立方和正好等于该数本身。(如153=1^3+5^3+3^3)
            /*
            Console.WriteLine("水仙花数有:");
            for (int i = 100; i < 1000; i++)
            {
                int a = i % 10;
                int b = i / 10 % 10;
                int c = i / 100;
                if (Math.Pow(a, 3)+Math.Pow(b, 3)+Math.Pow(c, 3)==i)
                {
                    Console.Write(i+"\t");
                }
            }
            */
            #endregion

            #region 5:编写一个程序,输入年,月,日,求出是该年的第几天
            /*
            Console.Write("请输入年份:");
            int year = int.Parse(Console.ReadLine());
            Console.Write("请输入月份:");
            int month = int.Parse(Console.ReadLine());
            Console.Write("请输入日份:");
            int day = int.Parse(Console.ReadLine());
            int sum = day;
            bool isRun = (year % 4 == 0 && year % 100 != 0) || year % 400 == 0;
            for (int i = 1; i < month; i++)
            {
                if (i==2)
                {
                    if (isRun)
                    {
                        sum += 29;
                    }
                    else
                    {
                        sum += 28;
                    }
                }
                else
                {
                    if (i==4||i==6||i==9||i==11)
                    {
                        sum += 30;
                    }
                    else
                    {
                        sum += 31;
                    }
                }
            }
                Console.WriteLine(year+"年"+month+"月"+day+"天是该年的第"+sum+"天");
            */
            #endregion

            #region 6:求100以内所有素数之和
            /*
            int num = 0;
            int sum = 0;
            for (int i = 2; i <= 100; i++)
            {
                for (int j = 1; j < 100; j++)
                {
                    if (i%j==0)
                    {
                        num++;
                    }
                }
                if (num<3)
                {
                    sum += i;
                    Console.WriteLine(i);
                }
                num = 0;
            }
            Console.WriteLine("100以内所有素数之和:" + sum);
            */
            #endregion

            #region 7:输出99乘法表,格式要求如1*2=2 2*2=4
            /*
            for (int i = 1; i < 10; i++)
            {
                for (int j = 1; j <= i; j++)
                {
                    int a = i * j;
                    Console.Write(i+"*"+j +"="+ a+"\t");
                }
                Console.WriteLine();
            }
            */
            #endregion

            #region 8:输入一个正整数N,输出一个对应大小菱形,如输入3,输出如下大小的菱形
            //       *            *    21    34    49
            //      ***          ***
            //     *****        *****
            //      ***        *******
            //       *          *****
            //                   ***
            //                    *
            /*Console.WriteLine("请输入一个正整数(15以内):");
            int a = int.Parse(Console.ReadLine());
            //上半部分输出
            for (int i = 0; i < a; i++)
            {
               //输出空格
               int spacenum = a- 1 - i;
               for (int j = 0; j < spacenum; j++)
               {
                   Console.Write(" ");
               }
               //输出字符
               int charnum = 2 * i + 1;
               for (int j = 0; j < charnum; j++)
               {
                   Console.Write("*");
               }
               Console.WriteLine();
            }
           for (int i = a - 2; i >= 0; i--)
           {
               //输出空格
               int spacenum = a - 1 - i;
               for (int j = 0; j < spacenum; j++)
               {
                   Console.Write(" ");
               }
               //输出字符
               int charnum = 2 * i + 1;
               for (int j = 0; j < charnum; j++)
               {
                   Console.Write("*");
               }
               Console.WriteLine();
           }
            */
            #endregion

            #region 9: 实现猜拳游戏可以不限次数的功能,直到按Q退出游戏
            /*
            Random r = new Random();
            Console.WriteLine("按下Q键时结束录入:");
            while (true)
            {
                int num = r.Next(1, 4);
                Console.Write("请输入你的出拳" + "\n" + "1代表 剪刀," + "\n" + "2代表 石头," + "\n" + "3代表 布:");
                string str = Console.ReadLine();
                str = str.ToUpper();
                if (str.Contains('q'))
                {
                    break;
                }
                int a = int.Parse(str);
                if (a == 1)
                {
                    if (num == 1)
                    {
                        Console.WriteLine("都出的剪刀,本局平局");
                    }
                    if (num == 2)
                    {
                        Console.WriteLine("玩家出的剪刀,电脑出的石头,电脑赢");
                    }
                    if (num == 3)
                    {
                        Console.WriteLine("玩家出的剪刀,电脑出的布,玩家赢");
                    }
                }
                if (a == 2)
                {
                    if (num == 1)
                    {
                        Console.WriteLine("玩家出的石头,电脑出的剪刀,玩家赢");
                    }
                    if (num == 2)
                    {
                        Console.WriteLine("都出的石头,本局平局");
                    }
                    if (num == 3)
                    {
                        Console.WriteLine("玩家出的石头,电脑出的布,电脑赢");
                    }
                }
                if (a == 3)
                {
                    if (num == 1)
                    {
                        Console.WriteLine("玩家出的布,电脑出的剪刀,电脑赢");
                    }
                    if (num == 2)
                    {
                        Console.WriteLine("玩家出的布,电脑出的石头,玩家赢");
                    }
                    if (num == 3)
                    {
                        Console.WriteLine("都出的布,本局平局");
                    }
                }
                
            }
            Console.WriteLine("游戏结束");

            */
            #endregion

            #region 数组

            /*//声明变量,局部变量(函数中的变量)声明的时候就要赋值
            int num;

            //声明10个int变量就要使用数组(引用类型数据)
            //数组是连续的
            int[] num1=new int[10];

            //给数组赋值
            int[] num2 = new int[3] { 1, 2, 3 };
            int[] num3 = new int[] { 1, 2, 3, 4 };
            int[] num4 = { 1, 2, 3, 4, 5, 6 };

            //通过length计算数组中的长度
            Console.WriteLine("num3的长度" + num3.Length);

            //修改数组中的某一个元素(单个元素赋值),通过数组名下标
            num3[0] = 100;
            num3[num3.Length - 1] = 99;

            //修改数组中的所有元素
            for (int i = 0; i < num3.Length; i++)
            {
                Console.WriteLine(num3[i] * 10);
            }
            //访问数组中的元素
            //输出num3中的所有元素,便且打印出来
            for (int i = 0; i < num3.Length; i++)
            {
                Console.WriteLine(num3[i]);
            }
            //(泛型for循环)简单,但是不知道第几个元素
            foreach (var item in num3)
            {
                Console.WriteLine(item);
            }
            */
            #endregion

            #region 从键盘输入一个整数,用来初始化数组的大小,通过这个数组
            //创建一个整数数组,随机从0-1给数组中的每个元素赋值,输出数组中的所有元素,
            // 找出数组中的最大值和最小值
            /*
            Random r = new Random();
            Console.WriteLine("请输入一个整数:");
            int a = int.Parse(Console.ReadLine());
            int[] num5 = new int[a];
            Console.WriteLine("数组中的数为:");
            for (int i = 0; i < num5.Length; i++)
            {
                int q = r.Next(0, 100);
                num5[i] = q;
                Console.Write(num5[i] + ",");
            }
            int max = num5[0];
            int min = num5[1];
            foreach (var item in num5)
            {
                if (item > max)
                {
                    max = item;
                }
                if (item < min)
                {
                    min = item;
                }
            }
            Console.WriteLine("\n最大值为"+max);
            Console.WriteLine("最小值为"+min);
            for (int i = 0; i < num5.Length-1; i++)
            {
                for (int j = 0; j < num5.Length-1-i; j++)
                {
                    if (num5[j]>num5[j+1])
                    {
                        int num6 = num5[j];
                        num5[j] = num5[j + 1];
                        num5[j + 1] = num6;
                    }
                    
                }
            }
            Console.WriteLine("从小到大排序为");
            foreach (var item in num5)
            {
                Console.WriteLine(item);
            }
            Console.WriteLine("从大到小排序为");
            for (int i = num5.Length-1; i >=0; i--)
            {
                Console.WriteLine(num5[i] + "  ");
            }
            */
            #endregion

            #region 冒泡排序
            /*
            int[] num = new int[5] { 7,5,4,2,1 };
            
            for (int i = 0; i < num.Length-1; i++)//总共有多少次排序
            {
                for (int j = 0; j < num.Length-i-1; j++)//总共比较多少次
                {
                    if (num[j]>num[j+1])
                    {
                        int item = num[j];
                        num[j] = num[j + 1];
                        num[j + 1] = item;
                    }
                }
            }
            for (int i = 0; i < num.Length; i++)
            {
                Console.WriteLine(num[i]);
            }
            for (int i = num.Length-1; i >= 0; i--)
            {
                Console.WriteLine(num[i]);
            }
            */

            #endregion
            #region 选择排序
            /*
            int[] num = new int[6] { 3, 2, 1, 4, 6, 5 };
            
            for (int i = 0; i < num.Length-1; i++)
            {
                int min = num[0];//最小值
                int minIndex = i;//最小值的下表
                for (int j = i+1; j < num.Length; j++)
                {
                    if (num[j] < min)
                    {
                        min = num[j];
                        minIndex = j;
                    }
                }
                if (i!=minIndex)
                {
                    int item = num[i];
                    num[i] = num[minIndex];
                    num[minIndex] = item;
                }
               
            }
            for (int i = 0; i < num.Length; i++)
            {
                Console.WriteLine(num[i]);
            }
            */
            #endregion
            #region 冒泡排序思想
            /*int[] num = new int[6] { 3, 2, 1, 4, 6, 5 };
            for (int i = 0; i < num.Length - 1; i++)//总共有多少趟
            {
                for (int j = i + 1; j < num.Length; j++)
                {
                    if (num[i] > num[j])
                    {
                        int a = num[i];
                        num[i] = num[j];
                        num[j] = a;
                    }
                }
            }
            for (int i = 0; i < num.Length; i++)
            {
                Console.WriteLine(num[i]);
            }
            */
            #endregion
            
        }
    }    
        
   
}
DateTime dt = new DateTime(2017,4,1,13,16,32,108);
string.Format("{0:y yy yyy yyyy}",dt); //17 17 2017 2017
string.Format("{0:M MM MMM MMMM}", dt);//4  04 四月 四月
string.Format("{0:d dd ddd dddd}", dt);//1  01 周六 星期六
string.Format("{0:t tt}", dt);//下 下午
string.Format("{0:H HH}", dt);//13 13
string.Format("{0:h hh}", dt);//1  01
string.Format("{0:m mm}", dt);//16 16
string.Format("{0:s ss}", dt);//32 32
string.Format("{0:F FF FFF FFFF FFFFF FFFFFF FFFFFFF}", dt);//1 1  108 108  108   108    108
string.Format("{0:f ff fff ffff fffff ffffff fffffff}", dt);//1 10 108 1080 10800 108000 1080000
string.Format("{0:z zz zzz}", dt);//+8 +08 +08:00

string.Format("{0:yyyy/MM/dd HH:mm:ss.fff}",dt);  //2017/04/01 13:16:32.108
string.Format("{0:yyyy/MM/dd dddd}", dt);      //2017/04/01 星期六
string.Format("{0:yyyy/MM/dd dddd tt hh:mm}", dt); //2017/04/01 星期六 下午 01:16
string.Format("{0:yyyyMMdd}", dt);         //20170401
string.Format("{0:yyyy-MM-dd HH:mm:ss.fff}", dt); //2017-04-01 13:16:32.108

除去string.Format()可以对日期进行格式化之外,*.ToString()也可以实现相同的效果:

DateTime dt = new DateTime(2017,4,1,13,16,32,108);
dt.ToString("y yy yyy yyyy");//17 17 2017 2017
dt.ToString("M MM MMM MMMM");//4  04 四月 四月
dt.ToString("d dd ddd dddd");//1  01 周六 星期六
dt.ToString("t tt");//下 下午
dt.ToString("H HH");//13 13
dt.ToString("h hh");//1  01
dt.ToString("m mm");//16 16
dt.ToString("s ss");//32 32
dt.ToString("F FF FFF FFFF FFFFF FFFFFF FFFFFFF");//1 1  108 108  108   108    108
dt.ToString("f ff fff ffff fffff ffffff fffffff");//1 10 108 1080 10800 108000 1080000
dt.ToString("z zz zzz");//+8 +08 +08:00

dt.ToString("yyyy/MM/dd HH:mm:ss.fff"); //2017/04/01 13:16:32.108
dt.ToString("yyyy/MM/dd dddd");      //2017/04/01 星期六
dt.ToString("yyyy/MM/dd dddd tt hh:mm"); //2017/04/01 星期六 下午 01:16
dt.ToString("yyyyMMdd");         //20170401
dt.ToString("yyyy-MM-dd HH:mm:ss.fff"); //2017-04-01 13:16:32.108
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值