Cấu trúc lặp while: Chức năng của nó đơn giản chỉ là lặp lại [Khối lệnh] khi điều kiện [biểu thức điều khiển] còn thoả mãn.

25 phútTrung bình
Bạn sẽ học được
  • Ví dụ 1:
  • Ví dụ 2:
  • Ví dụ 3:
  • Ví dụ 4:
  • Ví dụ 5:

Cú pháp:

while (biểu thức điểu khiển)
     {
       Khối lệnh;
     }

Trong đó:

     - [biểu thức điểu khiển] là biểu thức logic.

     - [Khối lệnh] còn thực hiện khi [biểu thức điều khiển] còn đúng.

     - Trong [khối lệnh] cần có sự tác động để [biểu thức điều khiển] sai.

Ví dụ 1:

+ Yêu cầu: Tính tổng các số từ 1 đến n, với n nhập vào từ bàn phím.

+ Code:

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   int n;
   // nhap n
   cout<<"\n n = ";
   cin>>n;
   // tinh tong
   int s = 0,i = 0;
   while(i<=n){
       s = s+i;
       i++;
   }
   // in ket qua
   cout<<"\n Tong = "<<s;

return 0;  
}

Ví dụ 2:

+ Yêu cầu: Đếm số chẵn nhỏ hơn n, với n nhập vào từ bàn phím.

+ Code:

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   int n;
   // nhap n
   cout<<"\n n = ";
   cin>>n;
   // dem so chan
   int dem = 0,i = 0;
   while (i<=n){
     if (i%2==0) dem++;
     i++;
   }
   // in ket qua
   cout<<"\n Ket qua = "<<dem;

   return 0;  
}

Ví dụ 3:

+ Yêu cầu: In ra màn hình tất cả số nguyên gồm 4 chữ sao cho tổng các chữ số bằng 10.

+ Code:

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   cout<<"In ket qua: ";
   int i = 1000;
   while (i<=9999)
   {
     if(i%10+(i/10)%10+(i/100)%10+i/1000==10)
       cout<<i<<";\t";
     i++;
   }

return 0;
}

Ví dụ 4:

+ Yêu cầu: In ra màn hình bảng cửu chương.

+ Code:

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   cout<<"In bang cuu chuong: \n";
   int i = 1;
   while (i<=9)
   {
    int j = 1;
    while (j<9){
     cout<<i<<"x"<<j<<"= "<<i*j<<";\t";
     j++;
    }
    cout<<"\n";
    i++;
   }

return 0;  
}

Ví dụ 5:

+ Yêu cầu: In ra màn hình tất cả số nguyên tố nhỏ hơn 1000.

+ Code:

#include <iostream>
#include <conio.h>

using namespace std;

int main() {
   cout<<"In so nguyen to nho hon 1000: \n";
   int i = 1;
   while (i<=1000)
   {
     int test = 0,j = 2;
       while (j<i){
       if(i%j==0) {
         test = 1;
         break;
       }
       j++;
     }
     if(test==0) cout<<i<<" ; ";
     i++;
   }

return 0;
}
Thực hành
  1. Tính tổng các chữ số của một số nguyên dương n.
  2. Nhập các số cho đến khi nhập 0, in ra tổng và số lần nhập.
  3. Tìm ước chung lớn nhất của hai số bằng thuật toán Euclid.
Tóm tắt bài học

Bạn đã đi qua: ví dụ 1:; ví dụ 2:; ví dụ 3:; ví dụ 4:; ví dụ 5:. Hãy làm phần Thực hành để ghi nhớ.