Bài tập lập trình c# cơ bản

BT: 1. Nhập vào số xe (gồm 5 chữ số) của bạn. Cho biết số xe của bạn được mấy nút?

(vd: 23781, 2 + 3 + 7 + 8 + 1 = 21 => 1 nút)

Em chưa học vòng lặp while nên code như này, mọi người xem giúp em đúng không ạ?

Em thấy dài dòng quá không biết có cách trình bày nào hợp lý hơn ko ta? Em cảm ơnnn.

int biensoxe, tongsonut, sonut, a, b, c, d,e, x, y, z;
Console.WriteLine(" NHAP VAO BIEN SO XE ");
biensoxe = int.Parse(Console.ReadLine());
a = biensoxe % 10;  // lay so cuoi bien so xe
x = biensoxe / 10;  // lay 4 so dau bien so xe 
b = x % 10;        // lay so cuoi cua x
y = x / 10;         // lay 3 so dau bien so xe
c = y % 10;         // lay so cuoi cua y    
z = y / 10;         // lay 2 so dau bien so xe
d = z % 10;         // lay so cuoi cua z
e = z / 10;         // lay 1 so dau bien so xe
tongsonut = a + b + c + d + e;
if (tongsonut < 10)
{
    sonut = tongsonut;
    Console.WriteLine("SO NUT XE LA " + sonut);
}
else
{
    sonut = tongsonut % 10;
    Console.WriteLine("SO NUT XE LA " + sonut);
}
Console.ReadKey();
  1. Sẵn tiện cho em hỏi hướng giải quyết bài này luôn với ạ:

    Nhập vào một số tiền. Hãy cho biết với số tiền trên sẽ có bao nhiêu tờ tiền có mệnh giá 500, 200, 100, 50, 20, 10, 2, 1

    (Ưu tiên tiền mệnh giá cao hơn, vd: 1023 = 2*500 + 0*200 + 0*100 + 0*50 + 1*20 + 0*10 + 0*5 + 1*2 + 1*1)

Khi tongsonut < 10 thì tongsonut % 10 == tongsonut nên bạn không cần phải xét trường hợp tongsonut < 10 đâu bạn.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?