Cấu trúc lặp trong C\C++
Dang1: for
for (biểu thức1; biểu thức 2; biểu thức 3)
{
Câu lệnh;
}
Trong đó:
Biểu thức 1: khởi tạo giá trị ban đầu
Biểu thức 2: điều kiện lặp
Biểu thức 3: thay đổi giá trị
Dạng 2: while
while (biểu thức điều kiện){
Câu lệnh;
}
Trong khi (biểu thức điều kiện) còn đúng câu lệnh còn thực hiện
Dạng 3: do\while
do{
Câu lệnh;
} while(biểu thức điều kiên);
Tương tự như while chỉ khác câu lệnh thực hiện trước điều kiện kiểm tra sau => câu lệnh sẽ được thực hiện ít nhất 1 lần.
Một số Ví dụ
Ví dụ1. In ra màn hình tất cả số nguyên có 3 chữ số sao cho tổng các chữ số bằng 10.
// In ra man hinh tat ca cac so gom 3 chu so, sao cho tong cua cac chu so bang 10
// Cách1: dùng for ------------------------------------------------------------------
#include<iostream.h>
#include<conio.h>
void main(){
cout<<"\n In day so can tim: ";
for(int a=100;a<=999;a++)
{
if(a%10+(a/10)%10+(a/100)%10==10)
cout<<a<<" ; ";
}
getch();
}
// Cách2: dùng while ---------------------------------------------------------------
#include<iostream.h>
#include<conio.h>
void main(){
cout<<"\n In day so can tim: ";
int a=100;
while(a<=999){
if(a%10+(a/10)%10+(a/100)%10==10)
cout<<a<<" ; ";
a++;
}
getch();
}
// Cách3: dùng do\while -----------------------------------------------------------
#include<iostream.h>
#include<conio.h>
void main(){
cout<<"\n In day so can tim: ";
int a=100;
do{
if(a%10+(a/10)%10+(a/100)%10==10)
cout<<a<<" ; ";
a++;
} while(a<=999);
getch();
}
//-----------------------------------------------------------------------------------------------
Ví dụ2. Tính s=1+3+5+..+n (n nhập từ bàn phím thỏa mãn 2<=n<=23).
// Tinh tong s=1+3+5+7+...+n (voi n nhap tu ban phim thoa man 2<=n<=23)
#include<iostream.h>
#include<conio.h>
void main(){
int n;
// nhap n
do{
cout<<"\n n=";
cin>>n;
if(2>n||23<n)
cout<<"\n Nhap lai n!";
}while(2>n||23<n);
// tinh tong
int s=0;
int i=1;
while(i<=n){
if (i%2!=0)
s=s+i;
i++;
}
cout<<"\n Ket qua: "<<s;
getch();
}
// Các bạn có thể đổi while => for; do\while => for ???
//-------------------------------------------------------------------------------------------------
Ví dụ3. Giải bài toán Gà-Chó
// Giai bai toan Ga-Cho
//Cách 1: dùn for lồng nhau -------------------------------------------------------------
#include<iostream.h>
#include<conio.h>
void main(){
int g,c;
for(g=0;g<=36;g++)
for(c=0;c<=36;c++)
if(g+c==36&&g*2+c*4==100)
cout<<"\n Ket qua: Ga = "<<g<<"; Cho= "<<c ;
getch();
}
//Cách 2: dùng while (tối ưu hơn) ------------------------------------------------------
#include<iostream.h>
#include<conio.h>
void main(){
int g=0;
while(g<=36){
if(g*2+(36-c)*4==100)
cout<<"\n Ket qua: Ga = "<<g<<"; Cho= "<<36-g ;
g++;
getch();
}