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