伊莉討論區

標題: 作業求助 [打印本頁]

作者: chenyy1023    時間: 2016-11-3 02:03 AM     標題: 作業求助

本帖最後由 chenyy1023 於 2016-11-11 03:17 AM 編輯

如標題  小弟的程式能力不佳,因此只好向各位大大求助
[attach]116450743[/attach]
[attach]116450746[/attach]
[attach]116450747[/attach][attach]116450748[/attach]
[attach]116450755[/attach]



作者: 跨越青春嶺    時間: 2016-11-5 12:19 AM

本帖最後由 跨越青春嶺 於 2016-11-5 01:28 PM 編輯

要好好認真上課,幫你[1][2][5][7][10][11][12][13][14][16],這花了我三天三夜...
剩下的[8][15],如果你有心的話,看我的程式碼就能寫出來了,不會太難...
程式碼看不懂是正常的,因為你給老師看程式碼,可能他還要去研究一下...

[1]
  1. using System;

  2. namespace _1_
  3. {
  4.     internal class Program
  5.     {
  6.         private static void Main(string[] args)
  7.         {
  8.             while (true)
  9.             {
  10.                 //輸入一定要打數字,打非數字會壞,我懶的防呆
  11.                 var inputNumber = Convert.ToInt64(Console.ReadLine());
  12.                 for (int i = 1; i <= inputNumber; i++)
  13.                 {
  14.                     for (int j = 1; j <= 9; j++)
  15.                     {
  16.                         Console.WriteLine($"{i}*{j}");
  17.                         if (i.Equals(inputNumber) && j.Equals(inputNumber))
  18.                         {
  19.                             break;
  20.                         }
  21.                     }
  22.                     Console.WriteLine(string.Empty);
  23.                 }
  24.             }
  25.         }
  26.     }
  27. }
複製代碼
[2]
  1. using System;

  2. namespace _2_
  3. {
  4.     internal class Program
  5.     {
  6.         private static void Main(string[] args)
  7.         {
  8.             while (true)
  9.             {
  10.                 //輸入一定要打數字,打非數字會壞,我懶的防呆
  11.                 var inputNumber = Convert.ToInt64(Console.ReadLine());
  12.                 Console.WriteLine($"{inputNumber}共有{inputNumber.ToString().ToCharArray().Length}個數字");
  13.             }
  14.         }
  15.     }
  16. }
複製代碼
[5]
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;

  4. namespace _5_
  5. {
  6.     internal class Program
  7.     {
  8.         private static void Main(string[] args)
  9.         {
  10.             var numberList = new List<int>();
  11.             while (true)
  12.             {
  13.                 //輸入一定要打數字,打非數字會壞,我懶的防呆
  14.                 var inputNumber = Convert.ToInt32(Console.ReadLine());
  15.                 var initialValue = 1;
  16.                 var total = 1;
  17.                 while (true)
  18.                 {
  19.                     if (inputNumber < total)
  20.                     {
  21.                         var lastNumber = numberList.Last();
  22.                         numberList.Remove(lastNumber);
  23.                         Console.WriteLine($"{string.Join("*", numberList)} <= {inputNumber} ,累積後的值 = {total / lastNumber}");
  24.                         break;
  25.                     }
  26.                     numberList.Add(initialValue);
  27.                     total *= initialValue++;
  28.                 }
  29.                 numberList.Clear();
  30.             }
  31.         }
  32.     }
  33. }
複製代碼
[7]
  1. using System;

  2. namespace _7_
  3. {
  4.     internal class Program
  5.     {
  6.         private static void Main(string[] args)
  7.         {
  8.             var input = Console.ReadLine().Split(new char[] { ' ' });
  9.             Console.WriteLine(Math.Pow(Convert.ToDouble(input[0]), Convert.ToDouble(input[1])));
  10.             Console.ReadLine();
  11.         }
  12.     }
  13. }
複製代碼
[10]
  1. using System;
  2. using System.Linq;

  3. namespace _10_
  4. {
  5.     internal class Program
  6.     {
  7.         private static void Main(string[] args)
  8.         {
  9.             var numberList = Enumerable.Range(1, 300).ToList();
  10.             var result = numberList.Where(n => !(n % 2).Equals(0))
  11.                  .Where(n => !(n % 3).Equals(0))
  12.                  .Where(n => !(n % 4).Equals(0))
  13.                  .Where(n => !(n % 5).Equals(0));
  14.             Console.WriteLine(string.Join(" ", result));
  15.             Console.ReadLine();
  16.         }
  17.     }
  18. }
複製代碼
[11]
  1. using System;
  2. using System.Linq;

  3. namespace _11_
  4. {
  5.     internal class Program
  6.     {
  7.         private static void Main(string[] args)
  8.         {
  9.             var word = Console.ReadLine();
  10.             //輸入一定要打數字,打非數字會壞,我懶的防呆
  11.             var numberOfTimes = Console.ReadLine();
  12.             var result = Enumerable.Repeat(word, Convert.ToInt32(numberOfTimes)).ToList();
  13.             Console.Write(string.Join(" ", result));
  14.             Console.ReadLine();
  15.         }
  16.     }
  17. }
複製代碼
[12]
  1. using System;
  2. using System.Collections.Generic;

  3. namespace _12_
  4. {
  5.     internal class Program
  6.     {
  7.         private static void Main(string[] args)
  8.         {
  9.             var year = Console.ReadLine().Split(',');
  10.             var leapYear = new List<int>();
  11.             for (int y = Convert.ToInt32(year[0]); y <= Convert.ToInt32(year[1]); y++)
  12.             {
  13.                 if (DateTime.IsLeapYear(y))
  14.                 {
  15.                     leapYear.Add(y);
  16.                 }
  17.             }
  18.             Console.WriteLine($"共有 {string.Join(", ", leapYear)} 這 {leapYear.Count} 個閏年");
  19.             Console.ReadLine();
  20.         }
  21.     }
  22. }
複製代碼
[13]
  1. using System;
  2. using System.Linq;

  3. namespace _13_
  4. {
  5.     internal class Program
  6.     {
  7.         private static void Main(string[] args)
  8.         {
  9.             var result = 0;
  10.             var input = Console.ReadLine().ToList().Select(s => Convert.ToString(s));
  11.             var output = (input.Where(f => int.TryParse(f, out result)).ToList()
  12.                 .Select(n => Convert.ToInt64(n)).Sum());
  13.             Console.WriteLine(output);
  14.             Console.ReadLine();
  15.         }
  16.     }
  17. }
複製代碼
[14]
  1. using System;
  2. using System.Linq;

  3. namespace _14_
  4. {
  5.     internal class Program
  6.     {
  7.         private static void Main(string[] args)
  8.         {
  9.             var input = Console.ReadLine().Split(new char[] { ' ' });
  10.             var width = input[0];
  11.             var height = input[1];
  12.             var minus = string.Join(string.Empty, Enumerable.Repeat("-", Convert.ToInt32(width)));
  13.             var space = string.Join(string.Empty, Enumerable.Repeat(" ", Convert.ToInt32(width)));
  14.             Console.WriteLine($"+{minus}+");
  15.             for (int i = 0; i < Convert.ToInt32(height); i++)
  16.             {
  17.                 Console.WriteLine($"|{space}|");
  18.             }
  19.             Console.WriteLine($"+{minus}+");
  20.             Console.ReadLine();
  21.         }
  22.     }
  23. }
複製代碼
[16]
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;

  4. namespace _16_
  5. {
  6.     internal class Program
  7.     {
  8.         private static void Main(string[] args)
  9.         {
  10.             var input = Console.ReadLine().Split(new char[] { ' ' }).ToList();
  11.             var intList = new List<int>();
  12.             try
  13.             {
  14.                 intList = input.Select(n => int.Parse(n)).ToList();
  15.             }
  16.             catch (Exception)
  17.             {
  18.                 Console.WriteLine("輸入錯誤");
  19.                 Console.ReadLine();
  20.                 return;
  21.             }
  22.             if (intList.Any(f => (f < 3 || f > 7)))
  23.             {
  24.                 Console.WriteLine("輸入錯誤");
  25.                 Console.ReadLine();
  26.                 return;
  27.             }
  28.             var max = intList.Max() > intList.Min() ? intList.Max() : intList.Min();
  29.             Console.WriteLine($"max={max}");
  30.             GenerateView(max);
  31.             Console.ReadLine();
  32.         }

  33.         private static void GenerateView(int max)
  34.         {
  35.             var symbol = string.Empty;
  36.             for (int i = 1; i <= max; i++)
  37.             {
  38.                 for (int j = 1; j <= max - i; j++)
  39.                     Console.Write(" ");

  40.                 for (int j = 1; j <= i; j++)
  41.                 {
  42.                     symbol = max.Equals(i) ? "% " : "& ";
  43.                     Console.Write(symbol);
  44.                 }

  45.                 Console.WriteLine();
  46.             }

  47.             for (int i = max - 1; i >= 1; i--)
  48.             {
  49.                 for (int j = 1; j <= max - i; j++)
  50.                     Console.Write(" ");

  51.                 for (int j = 1; j <= i; j++)
  52.                     Console.Write("* ");

  53.                 Console.WriteLine();
  54.             }
  55.         }
  56.     }
  57. }
複製代碼

作者: sliceart    時間: 2018-1-25 01:00 AM

我一定是太無聊了才會幹這種事情

[attach]121975541[/attach]
Program.cs
  1. using System;

  2. namespace homework_15
  3. {
  4.     internal class Program
  5.     {
  6.         private static int _userDistance;
  7.         private static readonly Car Taxi = new Car();

  8.         private static void Main(string[] args)
  9.         {
  10.             while (true)
  11.             {
  12.                 Console.Write("請輸入里程,用以計算車費 (輸入非數字則離開程式):");
  13.                 var userInput = Console.ReadLine();
  14.                 var isNumber = int.TryParse(userInput, out _userDistance);

  15.                 if (isNumber)
  16.                 {
  17.                     var totalPrice = Taxi.Pay(_userDistance);
  18.                     var memo = Taxi.AskDetail();
  19.                     Console.WriteLine([        DISCUZ_CODE_0        ]quot;車費為 ${totalPrice} 元");
  20.                     Console.WriteLine(memo);
  21.                 }
  22.                 else
  23.                 {
  24.                     Console.WriteLine("BYE!");
  25.                     Console.ReadKey();
  26.                     Environment.Exit(0);
  27.                 }
  28.             }
  29.         }
  30.     }
  31. }
複製代碼

Car.cs
  1. using System.Text;

  2. namespace homework_15
  3. {
  4.     public class Car
  5.     {
  6.         private decimal _totalPrice;
  7.         private int _distance;
  8.         private readonly int _baseDistance;
  9.         private readonly int _basePrice;
  10.         private readonly int _moreDistance;
  11.         private readonly int _morePrice;
  12.         private int _lastDistance;
  13.         private int _moreCount;
  14.         private string _memo;
  15.         private readonly StringBuilder _sb = new StringBuilder();

  16.         public Car()
  17.         {
  18.             _baseDistance = 1500;
  19.             _basePrice = 70;
  20.             _moreDistance = 500;
  21.             _morePrice = 6;
  22.         }

  23.         public Car(int baseDistance, int basePrice, int moreDistance, int morePrice)
  24.         {
  25.             _baseDistance = baseDistance;
  26.             _basePrice = basePrice;
  27.             _moreDistance = moreDistance;
  28.             _morePrice = morePrice;
  29.         }

  30.         public decimal Pay(int distance)
  31.         {
  32.             ResetDistanceAndPrice(distance);
  33.             if (_distance <= _baseDistance)
  34.             {
  35.                 _sb.AppendLine([        DISCUZ_CODE_1        ]quot;{_distance} 公尺 < {_baseDistance} 公尺 1 次, {_basePrice} 元");
  36.                 return _basePrice;
  37.             }

  38.             _totalPrice += ComputeBaseDistance();
  39.             _totalPrice += ComputeMoreDistance();
  40.             _totalPrice += ComputeLastDistance();

  41.             return _totalPrice;
  42.         }

  43.         private decimal ComputeLastDistance()
  44.         {
  45.             _lastDistance = _distance % _moreDistance;
  46.             if (_lastDistance > 0)
  47.                 _sb.AppendLine([        DISCUZ_CODE_1        ]quot;{_lastDistance} 公尺 < {_moreDistance} 公尺 1 次, {_morePrice} 元");
  48.             return _morePrice;
  49.         }

  50.         private decimal ComputeMoreDistance()
  51.         {
  52.             _moreCount = _distance / _moreDistance;
  53.             if (_moreCount > 0)
  54.                 _sb.AppendLine([        DISCUZ_CODE_1        ]quot;{_moreDistance} 公尺 {_moreCount} 次, {_moreCount * _morePrice} 元");

  55.             return _morePrice * _moreCount;
  56.         }

  57.         private int ComputeBaseDistance()
  58.         {
  59.             _distance -= _baseDistance;
  60.             _sb.AppendLine([        DISCUZ_CODE_1        ]quot;{_baseDistance} 公尺 1 次, {_basePrice} 元");
  61.             return _basePrice;
  62.         }

  63.         private void ResetDistanceAndPrice(int distance)
  64.         {
  65.             _lastDistance = 0;
  66.             _moreCount = 0;
  67.             _distance = distance;
  68.             _totalPrice = 0;
  69.         }

  70.         public string AskDetail()
  71.         {
  72.             _memo = _sb.ToString();
  73.             _sb.Clear();
  74.             return _memo;
  75.         }
  76.     }
  77. }
複製代碼

UnitTest.cs
  1. using FluentAssert;
  2. using homework_15;
  3. using Microsoft.VisualStudio.TestTools.UnitTesting;

  4. namespace homework_15_Test
  5. {
  6.     [TestClass]
  7.     public class UnitTest1
  8.     {
  9.         private Car _taxi;

  10.         [TestInitialize]
  11.         public void TestInit()
  12.         {
  13.             _taxi = new Car();
  14.         }

  15.         [TestMethod]
  16.         public void Input_2300_Should_Return_82()
  17.         {
  18.             var actual = _taxi.Pay(2300);
  19.             actual.ShouldBeEqualTo(82);
  20.         }

  21.         [TestMethod]
  22.         public void Input_1500_Should_Return_70()
  23.         {
  24.             var actual = _taxi.Pay(1500);
  25.             actual.ShouldBeEqualTo(70);
  26.         }

  27.         [TestMethod]
  28.         public void Under_1500_Always_Return_70()
  29.         {
  30.             var actual = _taxi.Pay(1300);
  31.             actual.ShouldBeEqualTo(70);
  32.         }

  33.         [TestMethod]
  34.         public void Input_1800_Should_Return_76()
  35.         {
  36.             var actual = _taxi.Pay(1800);
  37.             actual.ShouldBeEqualTo(76);
  38.         }

  39.         [TestMethod]
  40.         public void Input_3010_Should_Return_94()
  41.         {
  42.             var actual = _taxi.Pay(3010);
  43.             actual.ShouldBeEqualTo(94);
  44.         }
  45.     }
  46. }
複製代碼





歡迎光臨 伊莉討論區 (http://s03.p05.eyny.com/) Powered by Discuz!