Bài tập vòng lặp while trong c

  -  

Vòng lặp while cũng được sử dụng để lặp lại một khối câu lệnh. Nó đã kiểm tra đk trước khi bước đầu vòng lặp để đưa ra quyết định xem có thực hiện vòng lặp tốt không. Khối câu lệnh bên phía trong vòng lặp vẫn được tiến hành 1 hoặc những lần cho đến khi kiểm tra đk trả về bằng false thì sẽ dứt vòng lặp.

Bạn đang xem: Bài tập vòng lặp while trong c

Nên sử dụng vòng lặp while khi chúng ta không biết rõ số lượng vòng lặp - chỉ biết điều kiện dừng.

Cấu trúc của vòng lặp while


int i = 0;while (i 10) // statements inside the toàn thân of the loop // need to update the value of i

Vòng lặp while hoạt động như núm nào?

Đầu tiên vòng lặp while đánh giá biểu thức soát sổ điều kiện phía bên trong ngoặc 1-1 ().Nếu biểu thức kiểm soát là true, những câu lệnh phía bên trong thân vòng lặp while được thực thi. Những câu lệnh thực thi phía bên trong thân vòng lặp nên phải update lại biểu thức kiểm tra điều kiện.Sau đó, biểu thức kiểm tra điều kiện được reviews lại.Quá biểu đạt ra cho đến khi biểu thức bình chọn được review là false.Nếu biểu thức chất vấn là false, vòng lặp hoàn thành (kết thúc).

Luồng hoạt động của vòng lặp white

*

Ví dụ vòng lặp white trong c

Ví dụ 1:

In ra các số từ là một đến 5.

Xem thêm: Hướng Dẫn Gói Zing Mobi Fone Giải Trí Vui Hết Ý, Access Denied


#include int main() int i = 1; while (i 5) printf("%d ", i); ++i;
Kết quả:


12345
Giải thích:

Vì i sẽ được dùng để kiểm tra đk nên bọn họ cần phải tạo và gán giá trị đến i trước.Khi i = 1, biểu thức kiểm tra i trả về true. Vị đó, phần thân của vòng lặp while được thực hiện.In 1 bên trên màn hình.Tăng giá trị của i lên 1 → i = 2.Tiếp theo ta gồm i = 2, biểu thức chất vấn i lại trả về true. Phần thân của vòng lặp while được thực hiện lại.In 2 trên màn hình.Tiếp tục tăng giá trị của i lên 1 → i = 3.Quá trình này diễn ra cho tới khi i = 6. Từ bây giờ biểu thức kiểm tra i trả về false → vòng lặp chấm dứt.

Ví dụ 2:

Nhập một số trong những n trường đoản cú bàn phím. Tính tổng những số của n. Ví dụ: n = 2456 → sum = 2 + 4 + 5 + 6 = 17.

Xem thêm: Tải Game Dua Xe Sieu Toc - Game Đường Đua Siêu Tốc 6

Phân tích bài bác toán:

Để cộng tổng các số của n, họ cần bóc được riêng từng số của n ra bằng phương pháp lấy n chia lấy dư cho 10. Bọn họ sẽ đem được số hàng đơn vị chức năng là số 4, cộng 4 vào biến đổi sum.Sau đó bọn họ cần loại bỏ đi hàng đơn vị để được số 69 bằng cách lấy n = 694 chia cho 10 (n = 694 / 10 = 69).Chúng ta lại đem n = 69 phân chia lấy dư đến 10 để lấy được số hàng đơn vị chức năng là số 9, cộng 9 vào biến chuyển sum.Sau đó lại liên tiếp lấy n = 69 chia cho 10 để còn n = 6....Các chúng ta có thể thấy chúng ta sẽ lặp đi lặp lại 2 vấn đề chính so với n kia là:Chia lấy dư đến 10Chia hết đến 10Vì vậy bọn họ cần dùng vòng lặp để triển khai bài này, vậy nên chọn lựa vòng lặp nào?Bạn thiết yếu biết người dùng sẽ nhập số nào? (số lâu năm hay ngắn) đề nghị rõ ràng họ không thể biết yêu cầu lặp từng nào lần?Vì vậy bọn chúng ra sẽ dùng vòng lặp while thay vì chưng for.Vậy điều kiện dừng là gì? Đề bài bác không thấy nói đến?Bạn có nhận biết mỗi lần phân chia hết mang đến 10 thì n sẽ giảm dần giá bán trị, và ở đầu cuối khi n xuất xắc là n chỉ còn 1 chữ số thì n / 10 = 0. Bởi vì vậy bọn họ sẽ có đk dừng ở đây là n > 0.

Solution code:


#include int main() int n; int sum = 0; printf("Enter n: "); scanf("%d", &n); while (n > 0) sum += n % 10; n /= 10; printf("sum = %d", sum);
Kết quả: