Đọc số tự nhiên
Bài tập Dart - Đọc số tự nhiên
Viết chương trình in ra cách đọc của một số tự nhiên n
cho trước có ba chữ số. Ví dụ với n=123
thì kết quả in ra màn hình là Một trăm hai mươi ba
Dưới đây, chúng tôi gợi ý bạn sử dụng từ khóa switch case
để giải quyết. Nếu sử dụng kiểu dữ liệu List
hoặc Map
thì chương trình sẽ gọn hơn rất nhiều.
import 'dart:io';
void main() {
print('Mời bạn nhập một số nguyên dương: ');
int n = int.parse(stdin.readLineSync()!);
String hang_tram = '';
String hang_chuc = '';
String hang_don_vi = '';
int a = n ~/ 100;
int b = (n - 100 * a) ~/ 10;
int c = n % 10;
switch (a) {
case 0:
hang_tram = 'Không';
break;
case 1:
hang_tram = 'Một';
break;
case 2:
hang_tram = 'Hai';
break;
case 3:
hang_tram = 'Ba';
break;
case 4:
hang_tram = 'Bốn';
break;
case 5:
hang_tram = 'Năm';
break;
case 6:
hang_tram = 'Sáu';
break;
case 7:
hang_tram = 'Bảy';
break;
case 8:
hang_tram = 'Tám';
break;
case 9:
hang_tram = 'Chín';
break;
}
switch (b) {
case 0:
hang_chuc = 'linh';
break;
case 1:
hang_chuc = 'mười';
break;
case 2:
hang_chuc = 'hai';
break;
case 3:
hang_chuc = 'ba';
break;
case 4:
hang_chuc = 'bốn';
break;
case 5:
hang_chuc = 'năm';
break;
case 6:
hang_chuc = 'sáu';
break;
case 7:
hang_chuc = 'bảy';
break;
case 8:
hang_chuc = 'tám';
break;
case 9:
hang_chuc = 'chín';
break;
}
switch (c) {
case 0:
hang_don_vi = '';
break;
case 1:
hang_don_vi = 'một';
break;
case 2:
hang_don_vi = 'hai';
break;
case 3:
hang_don_vi = 'ba';
break;
case 4:
hang_don_vi = 'bốn';
break;
case 5:
hang_don_vi = 'năm';
break;
case 6:
hang_don_vi = 'sáu';
break;
case 7:
hang_don_vi = 'bảy';
break;
case 8:
hang_don_vi = 'tám';
break;
case 9:
hang_don_vi = 'chín';
break;
}
if (b > 1) {
print('$hang_tram trăm $hang_chuc mươi $hang_don_vi');
} else {
print('$hang_tram trăm $hang_chuc $hang_don_vi');
}
}
Nếu sử dụng kiểu danh sách, chương trình sẽ như sau:
import 'dart:io';
void main() {
print('Mời bạn nhập một số nguyên dương: ');
int n = int.parse(stdin.readLineSync()!);
List<String> chu_thuong = [
'không',
'một',
'hai',
'ba',
'bốn',
'năm',
'sáu',
'bảy',
'tám',
'chín'
];
List<String> chu_hoa = [
'Không',
'Một',
'Hai',
'Ba',
'Bốn',
'Năm',
'Sáu',
'Bảy',
'Tám',
'Chín'
];
if(n%10 !=0){print(
'${chu_hoa[n~/100]} trăm ${chu_thuong[(n - (n ~/ 100) * 100) ~/ 10]} mươi ${chu_thuong[n % 10]}.');
}
else{
print(
'${chu_hoa[n~/100]} trăm ${chu_thuong[(n - (n ~/ 100) * 100) ~/ 10]} mươi.');
}
}
Để thảo luận về các vấn đề trong bài viết này, mời các bạn tham gia nhóm facebook https://fb.com/groups/divindev/