C#练习题答案: 为了不?【难度:1级】--景越C#经典编程题库,1000道C#基础练习题等你来挑战

mac2024-03-10  26

为了不?【难度:1级】:

答案1:

using System.Linq; public class Kata { public static string Order(string input) { string ord = new string(input.OrderBy(c=>c).ToArray()); string rev = new string(input.OrderByDescending(c=>c).ToArray()); if (input == ord) return "IN ORDER"; if (input == rev) return "IN REVERSE ORDER"; return "OUT OF ORDER"; } }

答案2:

using System.Linq; public class Kata { public static string Order(string input) { var str = new string(input.ToCharArray().OrderBy(i => i).ToArray()); if (str == input) return "IN ORDER"; else if (new string(input.ToCharArray().OrderByDescending(i => i).ToArray()) == input) { return "IN REVERSE ORDER"; } else return "OUT OF ORDER"; } }

答案3:

using System.Globalization; public class Kata { public static string Order(string input) { char[] inputc = input.ToCharArray(); bool tmp = true; for(int i = 0; i < inputc.Length - 1; i++){ if(char.ToLower(inputc[i]) <= char.ToLower(inputc[i+1])) tmp = tmp &amp;&amp; true; else tmp = false; } if (tmp) return "IN ORDER"; else { tmp = true; for(int i = inputc.Length - 2; i > 0; i--){ if(inputc[i] < inputc[i+1]) tmp = false; } } return (tmp) ? "IN REVERSE ORDER" : "OUT OF ORDER"; } }

答案4:

using System; using System.Linq; public class Kata { public static string Order(string input) { string ascendente = String.Concat(input.OrderBy(c => c)); string descendente = String.Concat(input.OrderByDescending(c => c)); if (input==ascendente) return "IN ORDER"; if (input==descendente) return "IN REVERSE ORDER"; return "OUT OF ORDER"; } }

答案5:

public class Kata { public static string Order(string input) { var inOrder = true; var inReverseOrder = true; for (var i = 1; i < input.Length; i++) { inOrder = inOrder &amp;&amp; input[i-1] <= input[i]; inReverseOrder = inReverseOrder &amp;&amp; input[i-1] >= input[i]; } if (inOrder) return "IN ORDER"; if (inReverseOrder) return "IN REVERSE ORDER"; return "OUT OF ORDER"; } }

答案6:

using System; using System.Linq; public class Kata { public static string Order(string input) { string d = ""; var y = input.OrderBy(x => x); foreach (char x in y) { d += x; } if (input.Equals(d)) { return "IN ORDER"; } else if (!input.Equals(d)) { y = d.OrderByDescending(x => x); d = ""; foreach (char x in y) { d += x; } } if (input.Equals(d)) { return "IN REVERSE ORDER"; } else { return "OUT OF ORDER"; } } }

答案7:

using System; using System.Linq; public class Kata { public static string Order(string input) { int a = 1; int b = 1; for(int i = 1; i < input.Length; i++) { if (input[i] >= input[i - 1]) a++; if (input[i] <= input[i - 1]) b++; } return a == input.Count() ? "IN ORDER" : b == input.Count() ? "IN REVERSE ORDER" : "OUT OF ORDER"; } }

答案8:

using System; using System.Collections.Generic; using System.Linq; public class Kata { public static string Order(string input) { if (input.SequenceEqual(input.OrderBy(a => a))) { return "IN ORDER"; } else if (input.SequenceEqual(input.OrderByDescending(a => a))) { return "IN REVERSE ORDER"; } else { return "OUT OF ORDER"; } } }

答案9:

using System; using System.Linq; public class Kata { public static string Order(string input) { Console.Out.WriteLine( input ); int prev = 0; bool sorted = input.All(c => { if (c >= prev) { prev = c; return true; } else return false; }); prev = 255; bool reversed = input.All(c => { if (c <= prev) { prev = c; return true; } else return false; }); if (sorted) return "IN ORDER"; else if (reversed) return "IN REVERSE ORDER"; else return "OUT OF ORDER"; } }

答案10:

using System; using System.Linq; public class Kata { public static string Order(string input) { var chars = input.ToCharArray(); if (Enumerable.SequenceEqual(chars, chars.OrderBy(x => x))) return "IN ORDER"; else if (Enumerable.SequenceEqual(chars, chars.OrderByDescending(x => x))) return "IN REVERSE ORDER"; else return "OUT OF ORDER"; } }
最新回复(0)