首先,自己用了下三目表达式,来做了一个闰年的判断,也就是能被400整除,或者是能够被4整除,但是不能被100整除的年份。
int year; //输入的年 bool fourHunderd; //能被400整除 bool four; //能被4整除,不能被100整除 bool leapYear; //是闰年判断 Console.WriteLine("请输入你的年份"); string inputYear = Console.ReadLine(); year = Convert.ToInt32(inputYear); fourHunderd = (year % 400) == 0; four = (year % 4 == 0 && year % 100 != 0); leapYear = fourHunderd || four; string outPutYear = leapYear == true ? "是闰年" : "不是闰年"; Console.WriteLine("你所输入的{0}年{1}", year, outPutYear); Console.ReadLine();
第二个练习我觉得挺有趣的,因为我之前也想过,string类型存的数字,转换成int后,应该不是原有的数字,于是进行了一个代码尝试。
做了一个让用户输入一个字符,判断这个字符是否为数字的代码。
char input; //用于接收这个字符 int num; //转换这个字符类型 Console.WriteLine("请输入一个字符"); input = Convert.ToChar(Console.ReadLine()); num = Convert.ToInt32(input); //Console.WriteLine(num);这一行被我注释是因为我当时想看看,0这个字符数出来数字是多少,结果发现居然是48,果然转换后数字不一样,所以下面if我写的范围是48—57 if (num >= 48 && num <= 57) { Console.WriteLine("你所输出的是一个数字"); } else { Console.WriteLine("你所输入的不是一个数字"); } Console.ReadLine();
最后,做了if练习之后,我试一下switch,这样一个题目吧,用户打游戏后得到分数兑换奖励,100分换5张券,90-99分换3张,80-89分换2张,70-79分换1张,70分以下没有。
int point; int maxPoint = 100; bool rightPoint; Console.WriteLine("请输入游戏中获得的分数"); string inputPoint = Console.ReadLine(); rightPoint = int.TryParse(inputPoint, out point); if (rightPoint == true && point >= 0 && point <= maxPoint) { int num = point / 10; switch (num) { case 7: Console.WriteLine("恭喜你获得了1张兑换券"); break; case 8: Console.WriteLine("恭喜你获得了2张兑换券"); break; case 9: Console.WriteLine("恭喜你获得了3张兑换券"); break; case 10: Console.WriteLine("恭喜你获得了5张兑换券"); break; default: Console.WriteLine("抱歉,你的分数未达到兑换条件"); break; } } else { Console.WriteLine("你输入的格式错误,请输出正确格式"); } Console.ReadKey();