Chương trình học
- Cài đặt môi trường Lập trình C# 2
-
Nhập môn Lập trình C#
18
- Giới thiệu ngôn ngữ lập trình C#
- Cấu trúc chương trình C#
- Cú pháp cơ bản C#
- Các kiểu dữ liệu trong C#
- Chuyển đổi kiểu dữ liệu trong C#
- Khởi tạo biến trong C#
- Hằng số trong C#
- Toán tử trong C#
- Điều kiện trong C#
- Vòng lặp trong C#
- Tính bao đóng trong C#
- Tạo phương thức/hàm trong C#
- Đối tượng Nullable trong C#
- Mảng trong C#
- Chuỗi trong C#
- Cấu trúc trong C#
- Enums trong C#
- Truyền Tham số Reference hay Tham trị (Value) trong C#
- Hướng đối tượng trong C# 11
- Các kỹ thuật nâng cao trong C# 2
-
Bài tập thực hành
27
- Khai báo các Kiểu dữ liệu cho Mẫu Lý lịch A2 và Mẫu Hóa đơn Bán hàng
- Sử dụng các Toán tử cơ bản trong C#
- Kiểm tra số chẵn hay lẻ
- Thay đổi vị trí của 2 phần tử
- Tính tổng các kí tự số
- Đảo ngược con số
- Tạo chương trình ATM đơn giản
- Tạo chương trình ATM đơn giản với các phương án rút tiền theo các mệnh giá
- Tìm số Max, Min trong mảng 2 chiều
- Tạo cấu trúc lưu trữ thông tin Nhân viên
- Làm quen Hướng đối tượng trong C#
- Mã hóa chuỗi với Hacker Speak (H4ck3rSp34k)
- Mã hóa chuỗi với Alternating Captions (AlTeRnAtInG_CaPs)
- Tính tổng 2 số nhỏ nhất trong danh sách
- Trích xuất thông tin từ dữ liệu trong FILE TEXT
- In bảng cửu chương
- In tam giác Nhị phân
- In tam giác Số ký tự
- Đếm số 1
- Sử dụng Mảng 2 chiều để in tên dạng Asterisk ra màn hình
- Sử dụng Mảng 1 chiều để phân tách Tên với khoảng cách
- Bài tập Biểu thức Chính quy (Regular Expression)
- Ghi log lỗi với File và Try Catch
- Ghi Access log
- LINQ group by tên tập tin
- LINQ với collection
- Tạo chương trình Quản lý Danh sách Sinh viên và Giảng viên
- Kiểm tra kiến thức 1
- Kiểm tra kiến thức - Đồ án 2
Mô tả bài toán
Viết chương trình Console, với Phương thức SumSmallest tính tổng 2 số nhỏ nhất trong danh sách, với các trường hợptest case
như sau:
//SumSmallest([19, 5, 42, 2, 77]) ➞ 7 //SumSmallest([10, 343445353, 3453445, 3453545353453]) ➞ 3453455 //SumSmallest([2, 9, 6, -1]) ➞ 8 //SumSmallest([879, 953, 694, -847, 342, 221, -91, -723, 791, -587]) ➞ 563 //SumSmallest([3683, 2902, 3951, -475, 1617, -2385]) ➞ 4519
Cách giải quyết
- Sử dụng
List<int>
để tạo danh sách động lưu trữ các con số do người dùng nhập vào. - Sử dụng
LINQ
,- Hàm
Where
để lọc các điều kiện con số phải> 0
- Hàm
OrderBy
để sắp xếp các con số theo thứ tự từNhỏ -> Lớn
- Hàm
Take(2)
để lấy 2 phần tử đầu tiên trong danh sách sau khi sắp xếp - Hàm
sum()
để tính tổng các số
- Hàm
Source code
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SumTwoSmallestNumber { class Program { //SumSmallest([19, 5, 42, 2, 77]) ➞ 7 //SumSmallest([10, 343445353, 3453445, 3453545353453]) ➞ 3453455 //SumSmallest([2, 9, 6, -1]) ➞ 8 //SumSmallest([879, 953, 694, -847, 342, 221, -91, -723, 791, -587]) ➞ 563 //SumSmallest([3683, 2902, 3951, -475, 1617, -2385]) ➞ 4519 public static int SumSmallest(List<int> lstNumber) { return lstNumber.Where(z => z > 0).OrderBy(z => z).Take(2).Sum(); } static void Main(string[] args) { List<int> lstNumber = new List<int>(); bool isContinue = true; do { Console.Write("Input number (enter N for quit): "); string input = Console.ReadLine(); if(input == "N") { isContinue = false; break; } int numberInput = Convert.ToInt32(input); lstNumber.Add(numberInput); } while (isContinue); Console.WriteLine("Sum of Two smallest number is: {0}", SumSmallest(lstNumber)); Console.ReadKey(); } } }
Github
https://github.com/kellyfire611/learning.nentang.vn-csharp/blob/master/src/SumTwoSmallestNumber/Program.csMục lục
Các bài học
Bài học trước Bài học tiếp theo
Chương trình học
Bao gồm Module, Chương, Bài học, Bài tập, Kiểm tra...Chương trình học
- Cài đặt môi trường Lập trình C# 2
-
Nhập môn Lập trình C#
18
- Giới thiệu ngôn ngữ lập trình C#
- Cấu trúc chương trình C#
- Cú pháp cơ bản C#
- Các kiểu dữ liệu trong C#
- Chuyển đổi kiểu dữ liệu trong C#
- Khởi tạo biến trong C#
- Hằng số trong C#
- Toán tử trong C#
- Điều kiện trong C#
- Vòng lặp trong C#
- Tính bao đóng trong C#
- Tạo phương thức/hàm trong C#
- Đối tượng Nullable trong C#
- Mảng trong C#
- Chuỗi trong C#
- Cấu trúc trong C#
- Enums trong C#
- Truyền Tham số Reference hay Tham trị (Value) trong C#
- Hướng đối tượng trong C# 11
- Các kỹ thuật nâng cao trong C# 2
-
Bài tập thực hành
27
- Khai báo các Kiểu dữ liệu cho Mẫu Lý lịch A2 và Mẫu Hóa đơn Bán hàng
- Sử dụng các Toán tử cơ bản trong C#
- Kiểm tra số chẵn hay lẻ
- Thay đổi vị trí của 2 phần tử
- Tính tổng các kí tự số
- Đảo ngược con số
- Tạo chương trình ATM đơn giản
- Tạo chương trình ATM đơn giản với các phương án rút tiền theo các mệnh giá
- Tìm số Max, Min trong mảng 2 chiều
- Tạo cấu trúc lưu trữ thông tin Nhân viên
- Làm quen Hướng đối tượng trong C#
- Mã hóa chuỗi với Hacker Speak (H4ck3rSp34k)
- Mã hóa chuỗi với Alternating Captions (AlTeRnAtInG_CaPs)
- Tính tổng 2 số nhỏ nhất trong danh sách
- Trích xuất thông tin từ dữ liệu trong FILE TEXT
- In bảng cửu chương
- In tam giác Nhị phân
- In tam giác Số ký tự
- Đếm số 1
- Sử dụng Mảng 2 chiều để in tên dạng Asterisk ra màn hình
- Sử dụng Mảng 1 chiều để phân tách Tên với khoảng cách
- Bài tập Biểu thức Chính quy (Regular Expression)
- Ghi log lỗi với File và Try Catch
- Ghi Access log
- LINQ group by tên tập tin
- LINQ với collection
- Tạo chương trình Quản lý Danh sách Sinh viên và Giảng viên
- Kiểm tra kiến thức 1
- Kiểm tra kiến thức - Đồ án 2
Bài học trước Bài học tiếp theo
Menu Tiện ích
Menu Hướng dẫn Học tập
❤🧡💛💚💙💜 Học là phải THỰC HÀNH ❤🧡💛💚💙💜
Thực hiện các bước tuần tự theo nội dung Bài học nhé!