irpas技术客

C#入门级7道面试题(要求:用时15分钟内做完算合格)_别让青春虚度年华

网络 1345

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SnailClimbingWell { class Program { #region 1. 1900-2022年内的闰年 public static List<int> LeapYear() { var leapYear = new List<int>(); //闰年 var flatYear = new List<int>(); //平年 try { for (int i = 1900; i <= 2022; i++) { //闰年每4年一个 if (i % 4 == 0) { leapYear.Add(i); } else { flatYear.Add(i); } } } catch (Exception) { leapYear.Add(0); } return leapYear; } #endregion #region 2. 0-1000内同是3和5的倍数,取出满足条件的自然数,在计算是否是2的倍数 public static List<int> Multiple() { var multiple3and5 = new List<int>(); var multiple2 = new List<int>(); try { //先算出同时满足3和5的 for (int i = 0; i < 1000; i++) { if (i % 3 == 0 && i % 5 == 0) { multiple3and5.Add(i); } } //在计算是否满足2 for (int i = 0; i < multiple3and5.Count(); i++) { if (multiple3and5[i] % 2 == 0) { multiple2.Add(i); } } } catch (Exception e) { multiple2.Add(-1); } return multiple2; } #endregion #region 3. 蜗牛爬井 //一口井 高124米 一直蜗牛白天爬2米,晚上掉落0.4米 问 多少天可以爬出来 (算出每天的结果) /// <summary> /// 蜗牛爬井参数 /// </summary> public class Cs { /// <summary> /// 天数 /// </summary> public int Day { get; set; } /// <summary> /// 已爬米数 /// </summary> public double Rice { get; set; } } /// <summary> /// 计算方法 /// </summary> /// <returns></returns> public static List<Cs> Day() { var CsList = new List<Cs>(); try { double dayrice = 2 - 0.4; //每天实际爬的米数 double day = Math.Ceiling(124 / dayrice); //先算出多少天 向上取整 double rice = 0; for (int i = 0; i < day; i++) { var cs = new Cs() { Day = i + 1, Rice = rice + dayrice }; rice += dayrice; CsList.Add(cs); } } catch (Exception) { var cs = new Cs(); CsList.Add(cs); } return CsList; } #endregion #region 4.鸡兔同笼 /// <summary> /// 鸡兔同笼只数 /// </summary> public class ChickenAndRabbitInTheSameCage { /// <summary> /// 鸡只数 /// </summary> public int ChickenCount { get; set; } /// <summary> /// 兔只数 /// </summary> public int RabbitInCount { get; set; } } //现有一笼子,里面有鸡和兔子若干只,数一数,共有头14个,腿38条,聪明的小朋友,你能算出鸡和兔子各有多少只吗? /// <summary> /// 鸡兔同笼计算方法 /// </summary> /// <returns></returns> public static ChickenAndRabbitInTheSameCage ChickenAndRabbitInTheSameCages() { var ChickenAndRabbit = new ChickenAndRabbitInTheSameCage(); try { //假设法 假如都是鸡 鸡脚:2 兔脚:4 var ChickenCount = 38 / 2; if (ChickenCount > 14) { var gobeyond = ChickenCount - 14; //假设都是鸡 那么现在多出5只 var Rabbit = 4 * gobeyond; //这个算做兔的腿数,也就是兔子5只 var Chicken = 38 - Rabbit; //除去兔子的腿数20 剩下的就是鸡的腿数 var ChickenNumber = Chicken / 2; //一只鸡2条腿 除以2就是鸡的只数 ChickenAndRabbit.ChickenCount = ChickenNumber; ChickenAndRabbit.RabbitInCount = 14 - ChickenNumber; } else { ChickenAndRabbit.ChickenCount = ChickenCount; ChickenAndRabbit.RabbitInCount = 0; } } catch (Exception e) { ChickenAndRabbit.ChickenCount = -1; ChickenAndRabbit.RabbitInCount = -1; } return ChickenAndRabbit; } #endregion #region 5. 有一列数1,1,2,3,5,........求第30个数. public static int SeekdDigitValue() { int[] arr = new int[30]; arr[0] = 1; arr[1] = 1; try { for (int i = 1; i < 29; i++) { arr[i + 1] = i == 0 ? arr[0] + arr[1] : arr[i - 1] + arr[i]; } } catch (Exception e) { } return arr.LastOrDefault(); } #endregion #region 6. 1-1000之间自然数的和(不能用sum函数,使用最简便方法) public static int NaturalNumberSum() { var numbers = new List<int>(1000); var value = 0; for (int i = 1; i <= 1000; i++) { numbers.Add(i); } for (int i = 0; i < 1000; i++) { if (i <= 499) { value += numbers[i] + numbers[numbers.Count() - 1 - i]; } else { break; } } //return numbers.Sum(); return value; } #endregion #region 7. 有一个字符串 "I am a good man",设计一个函数,返回 "man good a am I"。 public static List<string> ReversalString() { var filed = "I am a good man"; try { var arr = filed.Split(' '); var Reversal = arr.Reverse().ToList(); return Reversal; } catch (Exception e) { throw; } } #endregion static void Main(string[] args) { #region 1.闰年 List<int> leap = LeapYear(); if (leap.Any(m => m == 0)) { Console.WriteLine("闰年计算出现错误,请联系管理员查看!"); } else { for (int i = 0; i < leap.Count(); i++) { if (i == 0) { Console.WriteLine("================闰年输出==============="); } Console.WriteLine("第" + leap[i] + "是闰年!"); } } #endregion #region 2.倍数 List<int> multiple = Multiple(); if (multiple.Any(m => m == -1)) { Console.WriteLine("倍数方法出现错误,请联系管理员查看!"); } else { for (int i = 0; i < multiple.Count(); i++) { if (i == 0) { Console.WriteLine("================倍数输出==============="); } Console.WriteLine(multiple[i] + "是2的倍数!"); } } #endregion #region 3.蜗牛爬井 List<Cs> cs = Day(); if (cs.Any(m => m.Day == 0 && m.Rice == 0)) { Console.WriteLine("蜗牛爬井出现错误,请联系管理员查看!"); } else { for (int i = 0; i < cs.Count(); i++) { if (i == 0) { Console.WriteLine("================经过==================="); } Console.WriteLine("第" + cs[i].Day + "天爬:" + cs[i].Rice + "米"); if (i == cs.Count() - 1) { Console.WriteLine("==================结果====================="); Console.WriteLine("第" + cs[i].Day + "天可以爬出!!!"); } } } #endregion #region 4.鸡兔同笼 ChickenAndRabbitInTheSameCage chickenAndRabbit = ChickenAndRabbitInTheSameCages(); if (chickenAndRabbit.ChickenCount == -1 && chickenAndRabbit.RabbitInCount == -1) { Console.WriteLine("鸡兔同笼计算出错!"); } else { Console.WriteLine("================鸡兔同笼==================="); Console.WriteLine("鸡:" + chickenAndRabbit.ChickenCount + "只,兔:" + chickenAndRabbit.RabbitInCount + "只;" + "鸡的腿数:" + (chickenAndRabbit.ChickenCount * 2) + ",兔子的腿数:" + (chickenAndRabbit.RabbitInCount * 4) + ";总计只数:" + (chickenAndRabbit.ChickenCount + chickenAndRabbit.RabbitInCount) + ";总计腿数:" + ((chickenAndRabbit.ChickenCount * 2) + (chickenAndRabbit.RabbitInCount * 4)) ); } #endregion #region 5.求第30个数. Console.WriteLine("================求第30个数================="); Console.WriteLine(SeekdDigitValue()); #endregion #region 6. 自然数和 Console.WriteLine("================自然数和==================="); Console.WriteLine(NaturalNumberSum()); #endregion #region 7.反转字符串 var Reversal =ReversalString(); for (int i = 0; i < Reversal.Count(); i++) { if (i == 0) { Console.WriteLine("===============字符串反转=================="); } Console.WriteLine(Reversal[i]); } #endregion Console.ReadLine(); } } }


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #using #Systemusing #SystemLinqusing #SystemTextusing