
Bài th c hành 6ự
Ôn l i các c u trúc đi u khi n ch ng trình (for, while)ạ ấ ề ể ươ
Bài 1: Ôn t p c u trúc đi u khi n ậ ấ ề ể for
C u trúc chung c a câu l nh ấ ủ ệ for
for (bi u th c kh i t oể ứ ở ạ ; bi u th cể ứ đi u ki nề ệ ; b c nh yướ ẩ ){
kh i ốcác câu l nhệ;
}
a. Ch ng trình sau in ra các s t 1 đ n 20ươ ố ừ ế
1:#include <stdio.h>
2:#include <conio.h>
3: int count;
4: main()
5: {
6:
7: for (count = 1; count <= 20; count++)
8: printf("%d\n", count);
9: getch();
10: return 0;
11: }
Thay dòng 7 b ng dòng sau đ in ra các s gi m d n t 20 đ n 1:ằ ể ố ả ầ ừ ế
for (count = 20; count > 0; count--)
Thay dòng 7 b ng dòng sau đ in ra các s chia h t cho 5 t 10 đ n 50:ằ ể ố ế ừ ế
for (count = 10; count <= 50; count+=5)
b. Ch ng trình nh p t bàn phím các s nguyên vào m t m ng A và in raươ ậ ừ ố ộ ả
#include <stdio.h>
#include <conio.h>
int count;
main()
{
int mang[20];
int n;
printf("Nhap so phan tu: ") ;
scanf ("%d", &n);
for (int i=0; i<n; i++)
{
printf("Nhap phan tu a[%d]", i);
scanf("%d", &mang[i]);
}
printf("In ra cac phan tu cua mang\n");

13: for (int i = 0; i <n ; i++)
14: printf("%d\n", mang[i]);
getch();
return 0;
}
Thay 2 dòng đ m ch ng trình trên (dòng 13, 14) b ng 2 dòng sau đ in ra các ph nậ ở ươ ằ ể ầ
t c a m ng mang [], vi c in ra k t thúc khi t t c các ph n t đã đ c in ra ho c khiử ủ ả ệ ế ấ ả ầ ử ượ ặ
g p m t ph n t có giá tr là 0ặ ộ ầ ử ị
for (int i = 0; i < n && mang[i] != 0; i++)
printf("%d", mang[i]);
c. Ch ng trình copy m ng theo th t ng c l iươ ả ứ ự ượ ạ
(Cho hai m ng a[10], b[10]. Dùng câu l nh ả ệ for đ copy n i dung c a m ng a t i m ngể ộ ủ ả ớ ả
b theo th t ng c l i. Sau khi copy thì a[0] = b[9], a[1] = b[8], ….a[9] = b[0])ứ ự ượ ạ
for (int i = 0, int j = 10; i < 10; i++, j--)
b[j] = a[i];
d. Ch ng trình s d ng câu l nh for l ng nhauươ ử ụ ệ ồ
#include <stdio.h>
void ve_hop( int, int);
int main()
{
ve_hop( 8, 10 );
getch();
return 0;
}
void ve_hop( int hang, int cot )
{
int c;
for ( ; hang > 0; hang--)
{
for (c = cot; c > 0; c--)
printf("X");
printf("\n");
}
}
Bài 2: Ôn t p c u trúc ậ ấ while
C u trúc chungấ
while (đi u ki nề ệ ){

kh i câu l nh;ố ệ
}
a. Ch ng trình in các s t 1 đ n 20ươ ố ừ ế
int x = 1;
while (x <= 20)
{
printf("\n %d", x );
x++;
}
b. Ch ng trình nh p các s nguyên vào m t m ng 10 ph n t t bàn phím, n uươ ậ ố ộ ả ầ ử ừ ế
s nh p vào là 99 ho c đã nh p đ 10 ph n t thì d ng l i.ố ậ ặ ậ ủ ầ ử ừ ạ
int mang[10];
int i = 0;
int so_nhap;
so_nhap = 0;
while (i < 10 && so_nhap != 99)
{
puts("Nhap vao mot so, nhap 99 de thoat ");
scanf("%d", &so_nhap);
value[i] = so_nhap;
i++;
}
Bài 3: Vi t ch ng trình gi i bài toán c sauế ươ ả ổ
Trăm trâu trăm cỏ
Trâu đ ng ăn nămứ
Trâu n m ăn baằ
L kh trâu già, ba con m t cụ ụ ộ ỏ
H i m i lo i có m y con?ỏ ỗ ạ ấ

