Và dưới đây là đáp án của đề thi trên
Câu 1:-------------------------- phuong phap chuo^'i ........................
using System;
using System.Collections.Generic;
using System.Text;
namespace lopchuoi
{
class chuoi
{
private string _bien;
public string Haha
{
get { return _bien; }
set { _bien = value; }
}
public chuoi(string c)
{
Haha = c;
}
public override string ToString()
{
return Haha;
}
public int DemChuoi()
{
Haha = Haha.Trim();
string[] bb;
bb = Haha.Split(' ');
Haha = null;
for (int i = 0; i < bb.Length; i++)
if (bb[i] != "")
Haha += bb[i] + " ";
Haha.Trim();
bb = null;
bb = Haha.Split(' ');
return (bb.Length - 1);
}
public string DaoNguoc()
{
Haha = Haha.Trim();
string[] bb;
bb = Haha.Split(' ');
Haha = null;
for (int i = 0; i < bb.Length; i++)
if (bb[i] != "")
Haha += bb[i] + " ";
Haha.Trim();
bb = null;
bb = Haha.Split(' ');
Haha = null;
for (int i = bb.Length - 1; i >= 0; i--)
{
Haha += bb[i] + " ";
}
Haha.Trim();
return Haha;
}
}
class Program
{
static void Main(string[] args)
{
string ac =" duong em di mai cach xa con duong cua anh ";
chuoi acc = new chuoi(ac);
Console.WriteLine("\nBan dau: "+ac);
Console.WriteLine("\nSo chu trong chuoi la:\t"+acc.DemChuoi());
Console.WriteLine("\nDao nguoc chuoi lai la:\t"+acc.DaoNguoc());
Console.ReadKey();
}
}
}
Câu 2:Cách hiểu
//cach nay khac cach kia o cho hieu cho bao hiem dai han: bao hiem dai han la bao hiem co so tien phai dong
//la x so tien phai dong hang thang se la sotienphaidong/thoihan .............
using System;
using System.Collections.Generic;
using System.Text;
namespace baohiem___
{
class baohiem
{
private string _tennguoimua;
public string TenNguoiMua
{
get { return _tennguoimua; }
set { _tennguoimua = value; }
}
private float _thoihan;
public float ThoiHan
{
get { return _thoihan; }
set { _thoihan = value; }
}
private float _sotien;
public float SoTienPhaiDong
{
get { return _sotien; }
set { _sotien = value; }
}
public virtual string ID
{
get { return "BH"; }
}
public baohiem(string T, float Th, float Sot)
{
TenNguoiMua = T;
ThoiHan = Th;
SoTienPhaiDong = Sot;
}
public virtual string Xuat()
{
return ("Ten KH: " + TenNguoiMua + " Thoi han:" + ThoiHan + " Khach Hang Dong:" + SoTienPhaiDong);
}
}
class nganhan : baohiem
{
public nganhan(string t, float th, float Sotien)
: base(t, th, Sotien)
{
}
public override string ID
{
get { return "N"; }
}
public override string Xuat()
{
return base.Xuat();
}
}
class daihan : baohiem
{
private float _sotienhangthang;
public float SoTienHangThang
{
get { return _sotienhangthang; }
set { _sotienhangthang = value; }
}
public daihan(string t, float th, float Sotien, float stienthang)
: base(t, th, Sotien)
{
SoTienHangThang = stienthang;
}
public override string ID
{
get { return "D"; }
}
public override string Xuat()
{
return base.Xuat() + " Tien Dong Hang Thang:" + SoTienHangThang;
}
}
class Nhanvien
{
string ten;
float hesoluong;
List<baohiem> lsbh;
public string Ten
{
get { return ten; }
set { ten = value; }
}
public float HeSoLuong
{
get { return hesoluong; }
set { hesoluong = value; }
}
public Nhanvien(string t, float hs, List<baohiem> bh)
{
Ten = t;
HeSoLuong = hs;
lsbh = bh;
}
public float TienHoaHong()
{
float _Thh = 0;
for (int i = 0; i < lsbh.Count; i++)
{
if (lsbh[i].ID == "D")
{
daihan dh = (daihan)lsbh[i];
_Thh = dh.SoTienHangThang * (float)0.5;
}
else
if (lsbh[i].ID == "N")
{
nganhan nh = (nganhan)lsbh[i];
_Thh += nh.SoTienPhaiDong * (float)0.05;
}
}
return _Thh;
}
public float TienBaoHiemCuaMotKhacHangMax()
{
float _max = 0;
for (int i = 0; i < lsbh.Count; i++)
{
if (lsbh[i].SoTienPhaiDong > _max)
_max = lsbh[i].SoTienPhaiDong;
}
return _max;
}
public float Thuong()
{
if (TienBaoHiemCuaMotKhacHangMax() > 10000)
return 100;
return 0;
}
public float TongTienBaoHiemNhanVienThuDuoc()
{
float _TongTienBaoHiemNhanVienThuDuoc = 0;
for (int i = 0; i < lsbh.Count; i++)
{
_TongTienBaoHiemNhanVienThuDuoc += lsbh[i].SoTienPhaiDong;
}
return _TongTienBaoHiemNhanVienThuDuoc;
}
public float Phat()
{
if (TongTienBaoHiemNhanVienThuDuoc() < 10000)
return 30;
return 0;
}
public float TinhLuong()
{
float _TinhLuong = 0;
for (int i = 0; i < lsbh.Count; i++)
_TinhLuong = 40 * HeSoLuong + (float)0.01 * (TongTienBaoHiemNhanVienThuDuoc() - TienHoaHong());
return _TinhLuong;
}
public string XuatDs()
{
string s;
s = "Ten Nhan Vien\t" + Ten;
return s;
}
public string XuatNhanVien()
{
string s;
s = "\n\nTen Nhan Vien:\t" + Ten + "\t he so luong:\t" + HeSoLuong + "\n";
for (int i = 0; i < lsbh.Count; i++)
{
s += lsbh[i].Xuat() + "\n";
}
return s;
}
class quanly
{
List<Nhanvien> lsnv;
public quanly()
{
lsnv = new List<Nhanvien>();
}
public void Nhap()
{
MenuNhap:
Console.WriteLine("\n...................................................");
Console.WriteLine("\t 1 - nhap them nhan vien");
Console.WriteLine("\t 0 - khong them nua");
Console.WriteLine("...................................................");
int _chonnhap;
try
{
_chonnhap = int.Parse(Console.ReadLine());
}
catch (Exception)
{
goto MenuNhap;
}
while (_chonnhap != 0)
{
switch (_chonnhap)
{
case 0://menu nhap nhan vien
break;
case 1://menu nhap nhan vien
List<baohiem> lsbh = new List<baohiem>();
Console.WriteLine("Nhap vao ho ten nhan vien:\t");
string _HoTenNhanVien = Console.ReadLine();
Console.WriteLine("Nhap he so luong:\t");
float _HeSoLuong = float.Parse(Console.ReadLine());
#region NhapSoBaoHiemChoMotNhanVien
MenuNhapBaoHiemBanDuoc:
Console.WriteLine("\n...................................................");
Console.WriteLine(" 1-----nhap them bao hiem ban duoc");
Console.WriteLine(" 0-----thoat");
Console.WriteLine("...................................................");
int _chonnhapban;
try
{
_chonnhapban = int.Parse(Console.ReadLine());
}
catch (Exception)
{
goto MenuNhapBaoHiemBanDuoc;
}
while (_chonnhapban != 0)
{
switch (_chonnhapban)
{
case 0:
break;
case 1:
Console.Write("Nhap ten khach hang:\t");
string _TenKhachHang = Console.ReadLine();
Console.Write("Thoi han:\t");
float _ThoiHan = float.Parse(Console.ReadLine());
Console.Write("Nhap vao so tien phai dong:\t");
float _SoTienPhaiDong = float.Parse(Console.ReadLine());
if (_ThoiHan > 12)
{
float _SoTienDongHangThang = _SoTienPhaiDong / _ThoiHan;
daihan aa = new daihan(_TenKhachHang, _ThoiHan, _SoTienPhaiDong, _SoTienDongHangThang);
lsbh.Add(aa);
}
else
{
nganhan bb = new nganhan(_TenKhachHang, _ThoiHan, _SoTienPhaiDong);
lsbh.Add(bb);
}
goto MenuNhapBaoHiemBanDuoc;
default:
goto MenuNhapBaoHiemBanDuoc;
}
goto MenuNhapBaoHiemBanDuoc;
};
#endregion Nhapbaohiem
Nhanvien cc = new Nhanvien(_HoTenNhanVien, _HeSoLuong, lsbh);
lsnv.Add(cc);
goto MenuNhap;
default://menu nhap nhan vien
goto MenuNhap;
}
goto MenuNhap;
};
}
public void XuatYThu2()
{
for (int i = 0; i < lsnv.Count; i++)
{
Console.WriteLine(lsnv[i].XuatNhanVien() + "\n Luong Cua Nhan Vien Nay :" + lsnv[i].TinhLuong().ToString());
}
}
public void XuatHoaHongLonHon50USD()
{
for (int i = 0; i < lsnv.Count; i++)
{
if (lsnv[i].TienHoaHong() > 50)
Console.WriteLine(lsnv[i].XuatDs());
}
}
public void XuatDanhSachNhanVienBiPhat()
{
for (int i = 0; i < lsnv.Count; i++)
{
if (lsnv[i].Phat() == 30)
Console.WriteLine(lsnv[i].XuatDs());
}
}
public void XuatDanhSachNhanVienDuocThuong()
{
for (int i = 0; i < lsnv.Count; i++)
{
if (lsnv[i].Thuong() == 100)
Console.WriteLine(lsnv[i].XuatDs());
}
}
}
class app
{
static void Main(string[] args)
{
quanly ql = new quanly();
menu:
Console.WriteLine("---------------------------------------------------------------");
Console.WriteLine(" 0 - thoat");
Console.WriteLine(" 1 - nhap");
Console.WriteLine(" 2 - xuat");
Console.WriteLine(" 3 - xuat nhan vien co hoa hong > 50 usd");
Console.WriteLine(" 4 - Nhung nhan vien bi phat ");
Console.WriteLine(" 5 - Nhung nhan duoc thuong");
Console.WriteLine("---------------------------------------------------------------");
int _chon;
try
{
Console.Write("Nhap vao mot so trong menu:\t");
_chon = int.Parse(Console.ReadLine());
}
catch (Exception)
{
goto menu;
}
while (_chon > 0)
{
switch (_chon)
{
case 0:
break;
case 1:
ql.Nhap();
goto menu;
case 2:
Console.WriteLine(" \n\n 2 - xuat y thu 2:\n");
ql.XuatYThu2();
Console.WriteLine("nhan enter de tiep tuc");
Console.ReadKey();
goto menu;
case 3:
Console.WriteLine(" \n\n 3 - Xuat nhan vien co hoa hong > 50 usd:\n");
ql.XuatHoaHongLonHon50USD();
Console.WriteLine("nhan enter de tiep tuc");
Console.ReadKey();
goto menu;
case 4:
Console.WriteLine(" \n\n 4 - Nhung nhan vien bi phat :\n");
ql.XuatDanhSachNhanVienBiPhat();
Console.WriteLine("nhan enter de tiep tuc");
Console.ReadKey();
goto menu;
case 5:
Console.WriteLine("\n\n 5 - Nhung nhan duoc thuong:\n");
ql.XuatDanhSachNhanVienDuocThuong();
Console.WriteLine("nhan enter de tiep tuc");
Console.ReadKey();
goto menu;
default:
goto menu;
}
};
}
}
}
}
Còn dưới đây là tham khảo thêm câu 1
using System;
using System.Collections.Generic;
using System.Text;
namespace chuoi
{
class Program
{
static void Main(string[] args)
{
string aa = " va van nhung con duong ngay ay noi chung ta ";
//string aa;
//Console.WriteLine("nhap vao chuoi ky tu:");
//aa = Console.ReadLine();
aa = aa.Trim();
Console.Write("\nban dau:\t"+aa);
string[] bb;
bb = aa.Split(' ');
aa = null;
for (int i = 0; i < bb.Length; i++)
if (bb[i] != "")
aa += bb[i] + " ";
Console.WriteLine("\nsau cat tach:\t"+aa.Trim());
bb = null;
bb = aa.Split(' ');
Console.WriteLine("\nSo chu la:\t"+(bb.Length-1));
aa = null;
for (int i = bb.Length-1; i >= 0; i--)
{
aa += bb[i] + " ";
}
aa = aa.Trim();
Console.WriteLine("\ndao nguoc:\t"+aa );
Console.ReadKey();
}
}
}
Cách hiểu thứ của câu 2
//cach nay khac cach kia o cho so tien hang thang phai dong o bao hiem dai han ban phair nhap vao
//co nghia la tong tien bao hiem se bang so tien phai dong hang thang + sotienphaidongbandau............
using System;
using System.Collections.Generic;
using System.Text;
namespace baohiem___
{
class baohiem
{
private string _tennguoimua;
public string TenNguoiMua
{
get { return _tennguoimua; }
set { _tennguoimua = value; }
}
private float _thoihan;
public float ThoiHan
{
get { return _thoihan; }
set { _thoihan = value; }
}
private float _sotien;
public float SoTienPhaiDong
{
get { return _sotien; }
set { _sotien = value; }
}
public virtual string ID
{
get { return "BH"; }
}
public baohiem(string T, float Th, float Sot)
{
TenNguoiMua = T;
ThoiHan = Th;
SoTienPhaiDong = Sot;
}
public virtual string Xuat()
{
return ("Ten KH: " + TenNguoiMua + " Thoi han:" + ThoiHan + " Khach Hang Dong:" + SoTienPhaiDong);
}
}
class nganhan : baohiem
{
public nganhan(string t, float th, float Sotien)
: base(t, th, Sotien)
{
}
public override string ID
{
get { return "N"; }
}
public override string Xuat()
{
return base.Xuat();
}
}
class daihan : baohiem
{
private float _sotienhangthang;
public float SoTienHangThang
{
get { return _sotienhangthang; }
set { _sotienhangthang = value; }
}
public daihan(string t, float th, float Sotien, float stienthang)
: base(t, th, Sotien)
{
SoTienHangThang = stienthang;
}
public override string ID
{
get { return "D"; }
}
public override string Xuat()
{
return base.Xuat() + " Tien Dong Hang Thang:" + SoTienHangThang;
}
}
class Nhanvien
{
string ten;
float hesoluong;
List<baohiem> lsbh;
public string Ten
{
get { return ten; }
set { ten = value; }
}
public float HeSoLuong
{
get { return hesoluong; }
set { hesoluong = value; }
}
public Nhanvien(string t, float hs, List<baohiem> bh)
{
Ten = t;
HeSoLuong = hs;
lsbh = bh;
}
public float TienHoaHong()
{
float _Thh = 0;
for (int i = 0; i < lsbh.Count; i++)
{
if (lsbh[i].ID == "D")
{
daihan dh = (daihan)lsbh[i];
_Thh = dh.SoTienHangThang * (float)0.5;
}
else
if (lsbh[i].ID == "N")
{
nganhan nh = (nganhan)lsbh[i];
_Thh += nh.SoTienPhaiDong * (float)0.05;
}
}
return _Thh;
}
public float TienBaoHiemCuaMotKhacHangMax()
{
float _max = 0;
for (int i = 0; i < lsbh.Count; i++)
{
if (lsbh[i].ID == "N")
{
nganhan nh = (nganhan)lsbh[i];
if (nh.SoTienPhaiDong > _max)
_max = nh.SoTienPhaiDong;
}
else
if (lsbh[i].ID == "D")
{
daihan dh = (daihan)lsbh[i];
if ((dh.SoTienPhaiDong + dh.ThoiHan * dh.SoTienHangThang) > _max)
_max = dh.SoTienPhaiDong + dh.ThoiHan * dh.SoTienHangThang;
}
}
return _max;
}
public float Thuong()
{
if (TienBaoHiemCuaMotKhacHangMax() > 10000)
return 100;
return 0;
}
public float TongTienBaoHiemNhanVienThuDuoc()
{
float _TongTienBaoHiemNhanVienThuDuoc = 0;
for (int i = 0; i < lsbh.Count; i++)
{
if (lsbh[i].ID == "N")
{
nganhan nh = (nganhan)lsbh[i];
_TongTienBaoHiemNhanVienThuDuoc += nh.SoTienPhaiDong;
}
else
if (lsbh[i].ID == "D")
{
daihan dh = (daihan)lsbh[i];
_TongTienBaoHiemNhanVienThuDuoc += (dh.SoTienPhaiDong + dh.ThoiHan * dh.SoTienHangThang);
}
}
return _TongTienBaoHiemNhanVienThuDuoc;
}
public float Phat()
{
if (TongTienBaoHiemNhanVienThuDuoc() < 10000)
return 30;
return 0;
}
public float TinhLuong()
{
float _TinhLuong = 0;
for (int i = 0; i < lsbh.Count; i++)
_TinhLuong = 40 * HeSoLuong + (float)0.01 * (TongTienBaoHiemNhanVienThuDuoc() - TienHoaHong());
return _TinhLuong;
}
public string XuatDs()
{
string s;
s = "Ten Nhan Vien\t" + Ten ;
return s;
}
public string XuatNhanVien()
{
string s;
s = "\n\nTen Nhan Vien:\t" + Ten + "\t he so luong:\t" + HeSoLuong + "\n";
for (int i = 0; i < lsbh.Count; i++)
{
s += lsbh[i].Xuat() + "\n";
}
return s;
}
class quanly
{
List<Nhanvien> lsnv;
public quanly()
{
lsnv = new List<Nhanvien>();
}
public void Nhap()
{
MenuNhap:
Console.WriteLine("\n...................................................");
Console.WriteLine("\t 1 - nhap them nhan vien");
Console.WriteLine("\t 0 - khong them nua");
Console.WriteLine("...................................................");
int _chonnhap;
try
{
_chonnhap = int.Parse(Console.ReadLine());
}
catch (Exception)
{
goto MenuNhap;
}
while (_chonnhap != 0)
{
switch (_chonnhap)
{
case 0://menu nhap nhan vien
break;
case 1://menu nhap nhan vien
List<baohiem> lsbh = new List<baohiem>();
Console.WriteLine("Nhap vao ho ten nhan vien:\t");
string _HoTenNhanVien = Console.ReadLine();
Console.WriteLine("Nhap he so luong:\t");
float _HeSoLuong = float.Parse(Console.ReadLine());
#region NhapSoBaoHiemChoMotNhanVien
MenuNhapBaoHiemBanDuoc:
Console.WriteLine("\n...................................................");
Console.WriteLine(" 1-----nhap them bao hiem ban duoc");
Console.WriteLine(" 0-----thoat");
Console.WriteLine("...................................................");
int _chonnhapban;
try
{
_chonnhapban = int.Parse(Console.ReadLine());
}
catch (Exception)
{
goto MenuNhapBaoHiemBanDuoc;
}
while (_chonnhapban != 0)
{
switch (_chonnhapban)
{
case 0:
break;
case 1:
Console.Write("Nhap ten khach hang:\t");
string _TenKhachHang = Console.ReadLine();
Console.Write("Thoi han:\t");
float _ThoiHan = float.Parse(Console.ReadLine());
Console.Write("Nhap vao so tien phai dong:\t");
float _SoTienPhaiDong = float.Parse(Console.ReadLine());
if (_ThoiHan > 12)
{
Console.Write("Nhap so tien dong hang thang:\t");
float _SoTienDongHangThang = float.Parse(Console.ReadLine());
daihan aa = new daihan(_TenKhachHang, _ThoiHan, _SoTienPhaiDong, _SoTienDongHangThang);
lsbh.Add(aa);
}
else
{
nganhan bb = new nganhan(_TenKhachHang, _ThoiHan, _SoTienPhaiDong);
lsbh.Add(bb);
}
goto MenuNhapBaoHiemBanDuoc;
default:
goto MenuNhapBaoHiemBanDuoc;
}
goto MenuNhapBaoHiemBanDuoc;
};
#endregion Nhapbaohiem
Nhanvien cc = new Nhanvien(_HoTenNhanVien, _HeSoLuong, lsbh);
lsnv.Add(cc);
goto MenuNhap;
default://menu nhap nhan vien
goto MenuNhap;
}
goto MenuNhap;
};
}
public void XuatYThu2()
{
for (int i = 0; i < lsnv.Count; i++)
{
Console.WriteLine(lsnv[i].XuatNhanVien() + "\n Luong Cua Nhan Vien Nay :" + lsnv[i].TinhLuong().ToString());
}
}
public void XuatHoaHongLonHon50USD()
{
for (int i = 0; i < lsnv.Count; i++)
{
if (lsnv[i].TienHoaHong() > 50)
Console.WriteLine(lsnv[i].XuatDs());
}
}
public void XuatDanhSachNhanVienBiPhat()
{
for (int i = 0; i < lsnv.Count; i++)
{
if (lsnv[i].Phat() == 30)
Console.WriteLine(lsnv[i].XuatDs());
}
}
public void XuatDanhSachNhanVienDuocThuong()
{
for (int i = 0; i < lsnv.Count; i++)
{
if (lsnv[i].Thuong() == 100)
Console.WriteLine(lsnv[i].XuatDs());
}
}
}
class app
{
static void Main(string[] args)
{
quanly ql = new quanly();
menu:
Console.WriteLine("---------------------------------------------------------------");
Console.WriteLine(" 0 - thoat");
Console.WriteLine(" 1 - nhap");
Console.WriteLine(" 2 - xuat");
Console.WriteLine(" 3 - xuat nhan vien co hoa hong > 50 usd");
Console.WriteLine(" 4 - Nhung nhan vien bi phat ");
Console.WriteLine(" 5 - Nhung nhan duoc thuong");
Console.WriteLine("---------------------------------------------------------------");
int _chon;
try
{
Console.Write("Nhap vao mot so trong menu:\t");
_chon = int.Parse(Console.ReadLine());
}
catch (Exception)
{
goto menu;
}
while (_chon > 0)
{
switch (_chon)
{
case 0:
break;
case 1:
ql.Nhap();
goto menu;
case 2:
Console.WriteLine(" \n\n 2 - xuat y thu 2:\n");
ql.XuatYThu2();
Console.WriteLine("nhan enter de tiep tuc");
Console.ReadKey();
goto menu;
case 3:
Console.WriteLine(" \n\n 3 - Xuat nhan vien co hoa hong > 50 usd:\n");
ql.XuatHoaHongLonHon50USD();
Console.WriteLine("nhan enter de tiep tuc");
Console.ReadKey();
goto menu;
case 4:
Console.WriteLine(" \n\n 4 - Nhung nhan vien bi phat :\n");
ql.XuatDanhSachNhanVienBiPhat();
Console.WriteLine("nhan enter de tiep tuc");
Console.ReadKey();
goto menu;
case 5:
Console.WriteLine("\n\n 5 - Nhung nhan duoc thuong:\n");
ql.XuatDanhSachNhanVienDuocThuong();
Console.WriteLine("nhan enter de tiep tuc");
Console.ReadKey();
goto menu;
default:
goto menu;
}
};
}
}
}
}
Nguồn:hang1.net