Download as pdf or txt
Download as pdf or txt
You are on page 1of 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

Muc Luc

BAI 01 ..................................................................................................................... 3
BAI 01 ..................................................................................................................... 3
BAI 02 ..................................................................................................................... 4
BAI 03 ..................................................................................................................... 7
BAI 04 :................................................................................................................. 10
BAI 05 :................................................................................................................. 12
BAI 06 ................................................................................................................... 14
BAI 07 ................................................................................................................... 15
BAI 08 ................................................................................................................... 17
BAI 09 ................................................................................................................... 18
BAI 10 :................................................................................................................. 20
BAI 11 ................................................................................................................... 23
BAI 12 ................................................................................................................... 24
BAI 13 ................................................................................................................... 29
BAI 14 ................................................................................................................... 30
BAI 16 ................................................................................................................... 32
BAI 17 ................................................................................................................... 34
BAI 18 ................................................................................................................... 36
BAI 19 ................................................................................................................... 38
BAI 20 ................................................................................................................... 40
BAI 21 :................................................................................................................. 42
BAI 22 ................................................................................................................... 46
BAI 23 :................................................................................................................. 48
BAI 24 ................................................................................................................... 50
BAI 25 ................................................................................................................... 53
BAI 26 ................................................................................................................... 56
BAI 27 ................................................................................................................... 58
BAI 28 ................................................................................................................... 61
BAI 29 ................................................................................................................... 64
BAI 30 ................................................................................................................... 67
BAI 31 ................................................................................................................... 69
BAI 32 ................................................................................................................... 71
BAI 33 :................................................................................................................. 73
BAI 34 ................................................................................................................... 77
BAI 35 ................................................................................................................... 79
BAI 36 ................................................................................................................... 82
BAI 37 ................................................................................................................... 85

http://vndownloads.net

1 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

Bai 38 : .................................................................................................................. 87
Bai 39 : .................................................................................................................. 89
Bai 40 .................................................................................................................... 91
Bai 41 .................................................................................................................... 93
Bai 42 .................................................................................................................... 96
Bai 43 .................................................................................................................... 98
Bai 44 : ................................................................................................................ 102
Bai 45 : ................................................................................................................ 105
Bai 46 : ................................................................................................................ 109
HET ..................................................................................................................... 110
Bai 47 .................................................................................................................. 110
Bai 48 : ................................................................................................................ 119
Bai 49 : ................................................................................................................ 120
Bai 50 ; ................................................................................................................ 122
Mot So Bai Lam Them , Ti ay Ban Hay T Mnh Nhn Vao Bai Va Suy
Ra e Bai i Nhe . Hay Th Xem va Toi Ngh La Ban Se Lam c ieu
o . ...................................................................................................................... 124
Bai Them 1 : ....................................................................................................... 124
Bai Them 2:........................................................................................................ 126
Bai Them 3 : ....................................................................................................... 127

http://vndownloads.net

2 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 01
1. Y TNG THUAT TOAN

Xet 3 he so cua phng trnh trc het xet a=0 hoac a khac 0
a. TH1 : a=0
Ta xet them b =0 hay khac 0 . Neu a=0 ma b=0 th
phng trnh vo nghiem . Neu b khac 0 th giai bai toan
giong nh giai phng trnh bac nhat .
b.
TH2 : a khac 0
Ta tnh Delta va xet Delta a ra nghiem cua pt
 Neu Delta < 0 : Phng trnh vo nghiem
 Neu Delta = 0 : Phng trnh co nghiem kep
 Neu Delta > 0 : Phng trnh co hai nghiem phan
biet .
2. Y NGHA MOT SO BIEN TRONG BAI :
a , b ,c la ba he so cua phng trnh .
Delta la bien dung e lu gia tr Delta sau khi tnh .
x1,x2 : la nghiem cua phng trnh neu pt co 2 nghiem phan biet
x : la nghiem neu phng trnh ch co mot nghiem ma thoi

3. BI GII :

#include<conio.h>
#include<stdio.h>
#include<math.h>
void main ()
{
clrscr();
float a,b,c,delta;
printf("ban hay nhap a,b,c vao ");
scanf("%f%f%f",&a,&b,&c);// cac he so cua pt bac 2
if (a!=0)
{
delta=b*b-4*a*c;
if (delta>0)
{
printf("phuong trinh co 2 nghiem\n");
printf("x1=%f",(-b-sqrt(delta))/(2*a));
printf("\n");
printf("x2=%f",(-b+sqrt(delta))/(2*a));
}
else //TH a<>0 va delta <=0
{
if (delta==0)
{
printf("phuong trinh co nghiem kep\n");

http://vndownloads.net

3 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


printf("x=%f",-b/(2*a));
}
else
printf("phuong trinh vo nghiem ");
}
}
else
{
if (b!=0)//a luc nay =0
{
printf("phuong trinh co 1 nghiem\n");
printf("x=%f",-c/b);
}
else // a=0 va b=0
{
if (c!=0)
printf("phuong trinh vo nghiem");
else
printf("phuong trinh vo so nghiem");
}
}
getch();
}

HET

BAI 02
http://vndownloads.net

4 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

1. Y TNG THUAT TOAN :

a. Ta lam mot trng hp neu nhap vao khong hp le th bat nhap lai .
b. Ngc lai
Trc het ta quy oi ve so ngay het .
Ta xet t nam so 1 cho en nam nhap vao neu thoa
ieu kien nam nhuan th cong them 1
Ta xet t thang 1 cho en thang nhap vao va lan lt
cong vi so ngay tng ng ma thang o co ( v du :
thang 3 co 31 ngay ).
Sau khi c mot tong so co c bang cach thc hien 2
bc tren th ta cong so o vao so ngay nhap vao . Ta
c tong so ngay t ngay thang nam th nhat cho en
ngay thang nam hien tai
Theo quy luat cua ngay thang th c 7 ngay th lap lai mot th .
V the ta lay tong so ngay tnh c tat ca chia lay phan d cho 7 (
V du : neu c 0 th o la chu nhat )

2. Y NGHA MOT SO BIEN TRONG BAI :

Ba bien : ngay , thang ,nam la cac bien c nhap vao


Bien s : luc au la cong them 1 neu gap nam nhuan khi dong for i
chay sau o c gan bang 0 va tnh tong cac ngay cua cac thang .
Bien t : la bien tnh tong so ngay
Bien x : la bien khi t chia lay phan d cho 7 gan cho x roi suy ra
th.
Dong For th nhat chay xet xem neu nam nhuan th cong so ngay
len 1
Dong For th hai chay xet va cong vao so ngay tng ng cua
thang o .

3. BAI GIAI
#include <stdio.h>
#include <conio.h>
void main()
{
clrscr();
int ngay , thang , nam,s=0,x;
long t;
do
{
printf("Nhap vao Ngay :");
scanf("%d",&ngay);
printf("Nhap vao Thang :");

http://vndownloads.net

5 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


scanf("%d",&thang);
printf("Nhap vao Nam :");
scanf("%d",&nam);
}
while(((ngay<0)||(ngay>31)||(thang<0)||(thang>12))||((thang==2)&&(ngay>29)));
for(int i=1;i<=nam;i++)
{
if((i%400==0)||((i%4==0)&&(i%100!=0)))
s+=1;
}
t=(nam*365)+s;
s=0;
for(int j=1;j<thang;j++)
{
switch(j)
{
case 2:
if ((nam%400==0)||((nam%4==0)&&(nam%100!=0)))
{
s+=29;
break;
}
Else
{
S+=28;
Break;
}
case 4:
case 6:
case 9:
case 11:
s+=30;
break;
Default:
s+=31;
break;
}
}
t+=s+ngay;
textcolor(6-9);
x=t%7;
printf("\n\n Ngay %d Thang %d Nam %d La Ngay ",ngay,thang,nam);
switch(x)
{
case 0:
cprintf("Chu Nhat ");
break;
case 1:
cprintf("Thu Hai ");
break;
case 2:
cprintf("Thu Ba ");
break;

http://vndownloads.net

6 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


case 3:
cprintf("Thu Tu ");
break;
case 4:
cprintf("Thu Nam ");
break;
case 5:
cprintf("Thu Sau ");
break;
case 6:
cprintf("Thu Bay ");
break;
}
getch();
}

HET

BAI 03
1. Y TNG THUAT TOAN :

http://vndownloads.net

7 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

Ta ly s ngy xt nu bng 365 th ngy 31 thng 12 nam 0 ,


ngc li th ta ly s ngy tr cho 365 nu l nm nhun th tr
cho 366
Xt iu kin thot ta ly s ngy cn li tr cho s ngy ca
tng thng ( v d : ly s ngy tr cho 31 nu ln hn 0 th
thng +1 v c th tip tc chy theo vng for cho n khi no
khng tha iu kin trong vng switch case na th thot ra
Thu c kt qu ca ngy thng nm .

2. Y NGHA MOT SO BIEN TRONG BAI :

9 Trong bi ch c ba bin quan trng l : ngay , thang , nam


Bin ngay : l bin c input .
Bin thang : l bin tng khi ngy tr i theo cu lnh
Bin nam : tng t nh bin thng n l kt qu ca bin
ngy tr i theo cu lnh .

3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();// nam so 0 khong duoc xet la nam nhuan
unsigned long ngay,nam=1;
int thang=1; //bat dau tu nam so 0
do
{
printf("Nhap vao so ngay : ");
scanf("%lu",&ngay);
}while(ngay<1);
while(ngay>=366)//dieu kien de xet so nam
{
if(((nam%4==0)&&(nam%100!=0))||(nam%400==0))
ngay-=366;
else
ngay-=365;
nam++;
if(ngay==0)
{
thang=12;
http://vndownloads.net

8 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


ngay=31;
nam-=1;
break;
}
}
while(ngay>=28)
{
if(thang==12)
break;
switch(thang)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
if((ngay-31)>0)
{
ngay-=31;
thang+=1;
}
break;
case 2:
if(((nam%4==0)&&(nam%100!=0))||(nam%400==0))
{
if((ngay-29)>0)
{
thang+=1;
ngay-=29;
}
else
break;
}
else
{
if((ngay-28)>0)
{
ngay-=28;
thang+=1;
}
else
http://vndownloads.net

9 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


break;
}
break;
default :
if((ngay-30)>0)
{
thang+=1;
ngay-=30;
}
break;
}
}
printf("\n Doi ra ngay thang la ");
printf("%lu - %d - %d",ngay,thang,nam);
getch();
}

HT

BAI 04 :
1. Y TNG THUAT TOAN :

Bi ny cng tng t nh hai bi trn nhng ta li xt thng


trc n s nhanh hn .Nu thng hp l th ta xt nm v ngy

http://vndownloads.net

10 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

2. Y NGHA CUA MOT SO BIEN TRONG BAI :

Trong bi ny cng ch c 3 bin : ngay , thang ,nam C 3 bin


ny u l bin input

3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
unsigned long nam;
int ngay, thang;
printf("Nhap vao ngay ");
scanf("%d",&ngay);
printf("Nhap vao Thang ");
scanf("%d",&thang);
printf("Nhap vao Nam ");
scanf("%lu",&nam);
switch(thang)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
if((ngay>0)&&(ngay<32)&&(nam>0))
printf(" Ngay nay la ngay hop le");
else
printf(" Ngay nay la ngay khong hop le");
break;
case 2:
if(((nam%4==0)&&(nam%100!=0))||(nam%400==0))
{
if((ngay>0)&&(ngay<30))
printf(" Ngay nay la ngay hop le")
else
printf(" Ngay nay la ngay khong hop le");
}
else
{
if((ngay>0)&&(ngay<29))
printf(" Ngay nay la ngay hop le");
else
printf(" Ngay nay la ngay khong hop le");
}
break;
case 4:
case 6:
case 9:
case 11:
if((ngay>0)&&(ngay<31)&&(nam>0))

http://vndownloads.net

11 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

default :

printf(" Ngay nay la ngay hop le");


else
printf(" Ngay nay la ngay khong hop le");
break;
printf("Ngay nay la ngay khong hop le ");

}
getch();
}

HT

BAI 05 :
1. Y TNG THUAT TOAN :

Bi ny khai bo mt bin k t so snh vi m phm input


Nu nhp 1 th nhp chiu di & rng ca hnh ch nht

http://vndownloads.net

12 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


Cch in ra hnh ch nht nh sau :
In ra mt dng * c chiu di l di ca
hnh
Sau xung dng in ra k t * v in mt
dng khong trng nh hn di l 2 ri in
k t * v xung hng
C nh th lp li s ln = chiu rng tr 2
In mt dng * cui cng bng di ca hnh
Nu nhp vo 2 th nhp cnh ca hnh vung
Cch in hnh vung tng t nh hnh ch nht

2. Y NGHA CUA MOT SO BIEN TRONG BAI :


Trong bi ny c bin menu l bin nhn m phm v iu khin
v hnh
Cc bin a,b : l di ca hnh cn v

3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
char menu;
int a,b;
do
{
printf(" Bam phim 1 de ve hinh chu nhat \n");
printf(" Bam phim 2 de ve hinh Vuong \n");
printf(" Bam phim 3 de thoat chuong trinh \n");
printf(" Nhap vao mot so de thuc hien \n");
fflush(stdin);
scanf("%c",&menu);
/*-----------Ve Hinh Chu Nhat --------------------*/
if(menu=='1')
{
printf("Nhap vao chieu dai cua hinh ");
scanf("%d",&a);
printf("Nhap vao chieu rong cua hinh ");
scanf("%d",&b);
for(int i=0;i<a;i++)
printf("*");
printf("\n");
for(int j=0;j<b-2;j++)
{
printf("*");
for(int k=0;k<a-2;k++)
printf(" ");
printf("*\n");

http://vndownloads.net

13 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
if(a>1)//In ra dong cuoi,truong hop a=1 neu In se du mot dong
{
for(int i=0;i<a;i++)
printf("*");
}
printf("\n");
}
/*--------Ve Hinh Vuong --------------------------*/
if(menu=='2')
{
printf("Nhap vao canh cua hinh ");
scanf("%d",&a);
for(int i=0;i<a;i++)
printf("*");
printf("\n");
for(int j=0;j<a-2;j++)
{
printf("*");
for(int k=0;k<a-2;k++)
printf(" ");
printf("*\n");
}
if(a>1)//In ra dong cuoi,truong hop a=1 neu In se du mot dong
{
for(int i=0;i<a;i++)
printf("*");
}
printf("\n");
}
}while(menu!='3');
if(menu=='3')
return;
getch();
}

HT

BAI 06
1. Y TNG THUAT TOAN :
t mt bin bng mt s nguyn t nh nht sau tng bin
ln 1
Gim s cn phn tch bng cch chia cho bin
Thc hin cho n khi no php chia bc b =1

http://vndownloads.net

14 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

2. Y NGHA CUA MOT SO BIEN TRONG BAI :


Trong bi ta t bin i l bin s nguyn t nh nht i =2
n l bin input cn phn tch
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
unsigned long n,i=2;
printf("Nhap vao so can phan tich ");
scanf("%lu",&n);
while(i<=n)
{
if(n%i==0)
{
if(n/i==1)
printf("%2lu",i);
else
printf("%2lu x",i);
n/=i;
}
else
i++;
}
getch();
}

HT

BAI 07
1. Y TNG THUAT TOAN :

nh ngha : s chnh phng l s c cn bc 2 l mt s


nguyn
i vi bi ny ta c hai cch vit :
[ Cch 1 : ta ly cn bc hai ca s tr cho phn
nguyn ca cn bc 2 ca s nu bng 0 th n l s
chnh phng , ngc li khng phi .

http://vndownloads.net

15 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


[ Cch 2 : Cho vng for i chy t 1 n s cn kim tra
nu i*i = = n th xut ra n l s chnh phng v thot
chng trnh

2. Y NGHA MOT SO BIEN TRONG BAI :


o n : l bin input
o flag :l bin c bit ng hay sai nu bng 1 l s chnh
phng

3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
float n;
int flag=0;
printf("Nhap vao mot so ");
scanf("%f",&n);
/*-------------------Cach 1 ------------------------------*/
for(float i=1;i<=n;i++)
{
if(n==i*i)
{
printf("La so chinh phuong");
flag=1;
break;
}
}
if(flag==0)
printf("Khong phai la so chinh phuong");

/*------------------Cach 2 -------------------------------*/
/*
if(sqrt(n)==(int)sqrt(n))
printf("La so chinh phuong ");
else
printf("Khong phai"); */
getch();
}

HT

http://vndownloads.net

16 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 08
1. Y TNG THUAT TOAN :
nh ngha : S nguyn t l s ch chia ht cho 1 v chnh n
iu kin l ln hn 1 .
i vi bi ny c rt nhiu cch lm nhng ti ngh cch sau l
cc bn d hiu nht
Cho mt vng lp for i chy t 2 cho n s cn
kim tra nu s chia ht cho i th m s ln
chia ht

http://vndownloads.net

17 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

Kt lun nu s ln chia ht l 1 th l s nguyn t


ngc li khng phi

2. Y NGHA MOT SO BIEN TRONG BAI :

9 n : l bin input
9 i : lu ng t 2 n n
9 dem : m s ln n chia ht cho i

3. BAI GIAI :

#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
unsigned long n;
int dem=0;
printf(" Ban hay nhap vao so ");
scanf("%lu",&n);
for(unsigned long i=2;i<=n;i++)
{
if(n%i==0)
dem++;
}
if(dem==1)
printf(" La so nguyen to");
else
printf(" khong la so nguyen to");
getch();
}

HT

BAI 09
1. Y TNG THUAT TOAN :

Ta ch xet khi a# 0 va b#0


TH1 :Neu Xet a> =b th ta lay a cho b cho en khi nao a nho hn
b . Lu y : (Neu a=0 th thoat ) . Neu 0 < a <b th ta lai
lay b cho a cho en khi nao b =0
TH2 : Ngc lai khi b >=a
Cuoi cung

http://vndownloads.net

18 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

- Neu a=0 th c chung ln nhat la b va boi chung nho


-

nhat la (x * y ) /b .
Neu ngc lai th c chung ln nhat la a va boi chung
nho nhat la ( x * y)/a

2. Y NGHA MOT SO BIEN TRONG BAI :


- Trong bai ch co hai bien quan trong o la x,y la 2 bien input va a , b
la hai bien gan tam thi bang gia tr x ,y e khi thc hien se khong
lam anh hng en gia tr cua hai so input ban au .

3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
/* -------------tim Uoc so chung lon nhat ----------*/
unsigned long a,b,x,y;
printf("Nhap vao so thu nhat ");
scanf("%lu",&a);
printf("Nhap vao so thu hai ");
scanf("%lu",&b);
x=a ; y=b;
while((a!=0)&&(b!=0))
{
if(a>=b)
a-=b;
else
b-=a;
}
/* boi so chung nho nhat la tich cua hai so chia cho USCLN */
if(a==0)
{
printf(" Uoc so chung lon nhat la %lu \n" ,b);
printf(" Boi so chung nho nhat la %lu ",(x*y)/b);
}
else
{
printf("Uoc so chung lon nhat la %lu \n",a);
printf(" Boi so chung nho nhat la %lu ",(x*y)/a);
}
getch();
}

HT

http://vndownloads.net

19 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 10 :
1. Y TNG THUAT TOAN :

Trong bai nay th chu yeu la ta biet khong che va in ra lng dau *
cho phu hp vi nh dang cua hnh ma can in .
Thng la ta cho mot vong lap khong che so hang dau * in ra , mot
vong lap in ra so khoang trang va mot vong lap in ra dau * . Nhng
cung nen lu y hai vong lap nay phai ong thi lan nhau theo tng
nh dang hnh can in .

2. Y NGHA MOT SO BIEN TRONG BAI :


http://vndownloads.net

20 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


Trong bai ch co bien h la bien chieu cao input t ngi dung , cac
bien con lai eu la bien chay cua cac vong lap .

3. BAI GIAI :
// chuong trinh in tam giac ra man hinh //
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
int h,i,j,k,t;
printf("Nhap Vao Chieu Cao Cua Hinh Tam Giac h= ");
scanf("%d",&h);
printf("\n");
//-------------In Tam Giac Thu 1 & Thu 2---------------------//
for(t=0;t<2;t++)// in ra hai lan tam giac nhu nhau
{
for(i=1;i<=h;i++) // chay chieu cao cua hinh
{
for(j=1;j<=i;j++) // in ra so luong dau * tuong ung voi do dai
printf("*");
printf("\n");
}
printf("\n\n");
getch();
}
//------------In Tam Giac Thu 3-------------------------------//
printf("\n");
for(i=h;i>0;i--)// chay chieu cao cua hinh
{
for(j=0;j<i-1;j++) //in khoang trang
printf(" ");
for(k=j;k<h;k++) // roi moi in dau * xuong dong
printf("*"); //quay len in khoang trang tiep
printf("\n"); //khi i tang so luong khoang trang giam so luong * tang
}

http://vndownloads.net

21 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


//-----------In Tam Giac Thu 4-------------------------------//
printf("\n");
getch();
for(i=0;i<h;i++) // chay chieu cao cua hinh
{
for(j=0;j<h-i;j++)//in ra dau * giam dan theo i
printf("*");
printf("\n");
}

//---------- In tam giac thu 5--------------------------------//


printf("\n");
getch();
for(i=0;i<h;i++)//chay chieu cao
{
for(j=0;j<h-i;j++)// in ra so luong khoang trang giam theo i
printf(" ");
for(k=0;k<2*i+1;k++)// in ra so luong dau * tang theo 2*i +1
printf("*");
printf("\n");//xuong hang quay len tang i va lam tiep
}
//-----------In tam giac thu 6------------------------------//
printf("\n");
getch();

for(i=0;i<h;i++)// chay chieu cao cua hinh


{
for(k=0;k<=i;k++)// in ra so luong khoang trang tang theo i
printf(" "); // k+ them 1 truoc khi xuong dong for ke tiep
for(j=k;j<=(2*h)-k;j++)// vi vay in ra so luong dau *luon le
printf("*");
printf("\n"); //xuong hang quay len tang i thuc hien tiep
}
getch();
}

http://vndownloads.net

22 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


HET

BAI 11
1. Y TNG THUAT TOAN :

bai nay ta in ra mot dong hang ngang trc


( VD : 1 x 1 = 1 2 x 1 = 2 3 x 1 = 3 4 x 1 = 4 10 x 1 =10)
Sau o xuong hang va tang tch len

2. Y NGHA MOT SO BIEN TRONG BAI :


I : la so dong cua bang cu chng ong vai tro la tch
J : la so cot cua bang cu chng ong vai tro la tha so
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void main()
{

http://vndownloads.net

23 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


clrscr();
printf("\n\n\t\t\t\tBang Cuu Chuong \n\n\n");
for(int i=1;i<=10;i++)
{
for(int j=2;j<10;j++)
printf("%2dx%2d=%3d ",j,i,j*i);
printf("\ n");
}
getch();
}

HT

BAI 12
1. Y TNG THUAT TOAN :

Theo e bai ta khong c lay tng con so cua b nhan vi a ma van e la


cho tng so b nhan vi tng so a . e giai quyet bai nay ta xet o dai cua cac
so roi xuat ra theo y muon cua mnh , ay toi ch neu ra phan y tng cua
thuat toan ma thoi . Trc het ban hay liet ke tat ca cac bien trong bai co
the phat sinh ( VD : can cac bien tam cua hai so a va b e khi thc hien
thuat toan ta van khong lam anh hng gia tr cua hai so a va b khi can thiet
s dung en chung , tiep en la bien nh va cac bien lu ong va cong don ;
lu ong ay co ngha la c mot hang n v th tang len 10 .

2. Y NGHA MOT SO BIEN TRONG BAI :


Trong bai nay ta co rat nhieu bien :

http://vndownloads.net

24 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

A. Cac bien dung e xuat ra theo y muon va can oi phep nhan


gom : i,xuat,dem1=5,dem2=5 , p =0 .

B. Cac bien dung trong thuat toan gom :

1. a, b : la hai con so c input


2. x=a , y=tmpb=b , la cac bien gan tam thi cho hai so tren
e khi tnh toan co thay oi cung khong anh hng en
hai so o khi chung ta can thiet s dung ti no .
3. bien demtmp : co kieu d lieu int la bien tnh o dai so a
4. bien t : co kieu int dung e cha tng con so b nhan vi
tng so a .
5. bien nho : e nh so hang chuc cua so t khi t > 10
6. bien k co kieu d lieu la double dung e nhan len 10
moi khi bien s cong
7. bien s : la bien cong don lai ket qua cua mot so b nhan
vi tng so a cho en het so a sau o xuat ra so s la mot
hang
8. tng t nh bien k con co bien h dung e cong don vao
bien kq .
9. bien kq : la bien ket qua cua phep nhan c tnh bang
cach cong don s vao va nhan h khi cong .

3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
int i,nho=0,xuat,dem1=5,dem2=5,in,p=0,t;
long a,b,x,y,tmpb;
double s,k=1,kq=0,h=1;
do
{
printf("Ban Hay Nhap Vao So a= ");
scanf("%ld",&a);
printf("Ban Hay Nhap Vao So b= ");
scanf("%ld",&b);
http://vndownloads.net

25 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}while((a<=0)||(b<=0)) ;
x=a;y=tmpb=b; //Gan cac bien tam thoi de khong anh huong hai so a & b
while(x>0)
{
x=x/10;
dem1++;// dem xem a co bao nhieu chu so + 5
}
while(y>0)
{
y=y/10;
dem2++; // dem xem b co bao nhieu chu so + 5
}
int demtmp=dem1-5;//demtmp la bien do dai cua chu so a

/* ---------------xuat ra theo y muon--------------------------------*/


if(a>b)
{

}
else
{

xuat=dem1;
for(int i=1;i<=dem1;i++)
printf(" ");
printf("%ld\n",a);
for(int j=1;j<=(dem1+(dem1-dem2));j++)
printf(" ");
printf("%ld\n",b);
for(int m=1;m<=dem1;m++)
printf(" ");
for(int t=1;t<=dem1-5;t++)
printf("-");
printf("\n");

xuat=dem2;
for(int i=1;i<=dem2+(dem2-dem1);i++)
printf(" ");

http://vndownloads.net

26 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


printf("%ld\n",a);
for(int j=1;j<=dem2;j++)
printf(" ");
printf("%ld\n",b);
for(int m=1;m<=dem2;m++)
printf(" ");
for(int t=1;t<=dem2-5;t++)
printf("-");
printf("\n");
}
/*----------------Thuat Toan ------------------------------------*/

while(tmpb>0)
{
demtmp=dem1-5; //gan lai do dai sau mot lan nhan
x=a;
// khong muon thay doi gia tri a
k=1;
// he so nhan len tung hang don vi
s=0;
// ket qua cua tung con so nhan voi so a
while(x>0)
{
t=(tmpb%10)*(x%10)+nho;//tung so b nhan voi tung so a cong nho
nho=t/10;
in=t%10;
if(((tmpb<10)||(a<10)||(tmpb%10<10))&&((tmpb*x+nho)>=10)&&(demtmp==1))
{
s+=t*k;//neu nhan voi chu so dau tien cua a > 10 thi in ra luon
nho=0;
}
else
s+=in*k;
// s la de luu lai gia tri cua bien in
k=k*10;
x=x/10;
//sau khi nhan giam x
demtmp--;
}

for(i=xuat;i>0;i--)

http://vndownloads.net

27 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


printf(" ");
printf("%.0f\n",s);//xuat ra tung dong ket qua ung voi tung con so
kq+=s*h;//Ket qua cua phep nhan duoc cong don voi bien s
p++; // bien p tang la de giam di so khoang trang in ra o phia duoi
h=h*10;// thut vao 1 don vi nen phai nhan len 10 khi cong vao kq
xuat-=1; //giam di mot khoang trang khi xuong mot hang
tmpb/=10; // lay so ke trai de nhan voi tung so a
}

/*--------------------------Xuat Ket Qua Cuoi Cung----------------*/


if(a<b)
{
if(b>=10)//tru truong hop da in ra s roi con in kq , no se in hai lan
{
for(int m=1;m<=dem2-p;m++)
printf(" ");
for(int u=1;u<=dem2-3;u++)
printf("-");
printf("\n");
for(int v=0;v<=dem2-p;v++)
printf(" ");
printf("%.0f",kq);//o tren da in ra bien s nen khong in kq neu b<10
}
}
else //tuong tu
{
if(b>=10) // xet de tranh in hai lan ket qua
{
for(int m=1;m<=dem1-p;m++)
printf(" ");
for(int u=1;u<=dem1-3;u++)
printf("-");
printf("\n");
for(int v=0;v<=dem1-p;v++)
printf(" ");
http://vndownloads.net

28 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

printf("%.0f",kq);

getch();

}
HET

BAI 13
1. Y TNG THUAT TOAN :
bai nay ta tnh tong cac so t 1 cho ti n , ta can co mot vong lap chay
t 1 cho en n sau o mot bien cong don khi vong lap chay .
2. Y NGHA MOT SO BIEN TRONG BAI :
a. Trong bai ch co bien n la bien in put
b. Bien s : la bien cong don khi vong for lap lai
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
unsigned long s=0;
int n,i;
printf("Nhap vao so n= ");
scanf("%lu",&n);

http://vndownloads.net

29 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


for(i=1;i<=n;i++)
s+=i;
printf("Tong Tu 1 --> n la %lu",s);
getch();
}

HT

BAI 14
1. Y TNG THUAT TOAN :
a. Tng t nh bai 13 . nhan don nhng lu y oi vi phep nhan th co
gii han .
b. Bai nay se toi se trnh bay theo hai cach :
i. Cach 1 : tng t nh bai 13
ii. Cach 2 : Ta cung lam tng t nh cach tren nhng khi bien
nhan don ln hn 100000 th ta cong so mu vao la 5 va lay bien
s chia cho 100000 , vi thuat toan tren ban co the tnh c
1000 giai tha . ( lu y : bien s : kieu d lieu la double )
2. Y NGHA MOT SO BIEN TRONG BAI :
a. Cach 1 : tng t
b. Cach 2 : co bien q : kieu d lieu la int dung e cong so mu khi s >
100000
3. BAI GIAI :
Cach 1 :

http://vndownloads.net

30 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


#include<stdio.h>
#include<conio.h>
void main()
{
clrscr();
double s=1;
int n,i;
printf("Nhap vao so n= ");
scanf("%lu",&n);
for(i=1;i<=n;i++)
s*=i;
printf("Tong Tu 1 --> n la %.0f",s);
getch();
}

HT

Cach 2 :
#include<conio.h>
#include<stdio.h>
void main()
{
double
int i,q=0,n;
clrscr();

http://vndownloads.net

s=1;

printf("nhap n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
s*=i;
if(s>=100000)
{
s/=100000;
q=q+5;
}
31 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}

getch();

printf("Ket Qua cua %d giai thua %lf x 10^%d",n,s,q);

}
HET

BAI 16
1. Y TNG THUAT TOAN :
bai nay ta dung cong thc phep lap Newton
X[ 0 ] = ( 1 + a ) /2
X[1] = (1/2)*(X[n] + a/X[n]) ; n= 1 , 2 ,
Sai so cho phep la tr tuyet oi cua
( X[n+1] X[n] ) / X[n] = 10 ^ -5
2. Y NGHA MOT SO BIEN TRONG BAI :
a. Trong bai co
ham double can_2(double x) : dung e tra ve gia tr can bac 2 cua
mot so can tnh . ay c xem la bien x .
Trong ham con co bien kq : c xem tng ng nh phan t X[n+1]
trong cong thc tren
bien temp : c xem nh phan t X[ n ] trong cong thc tren .
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
#include<math.h>

http://vndownloads.net

32 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


double can_2(double x)
{
double kq,temp,z;
if(x==0)
return(kq=0);
kq=x;
if(x>0)
{
while(1)
{
temp=kq;
// tam thoi luu lai X[n]
kq=(kq*kq+x)/(2*kq); // quy dong va rut gon tu phep lap Newton
z=fabs((kq-temp)/temp);// sai so cho phep
if(z<0.00001)
return(kq);
}
}
}
void main()
{
clrscr();
double n;
printf("nhap so can tinh can bac hai:\n x= ");
scanf("%lf",&n);
printf("\n%lf co can bac hai: %lf",n,can_2(n));
printf("\n\nnhan phim bat ki de ket thuc...");
getch();
}
HET

http://vndownloads.net

33 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 17
1. Y TNG THUAT TOAN :
a. bai nay ta khong phai xuat cac phan t ngc tr lai ma van e la
phai thay oi c v tr cac phan t vi nhau theo e bai la ao
ngc ( VD : phan t au se ao thanh phan t cuoi ) .
b. Ta nen lu y ch cho mot vong lap chay t 0 cho en na so phan t
ma thoi sau o hoan oi v tr cua hai phan t vi nhau .
2. Y NGHA MOT SO BIEN TRONG BAI :
Trong bai co :
a. Bien a[ 100] : la mang e cha cac phan t .
b. Bien n : la bien input la so phan t trong mang .
c. Ham daomang(int a[100] , int n ) : nhiem vu ham nay la ao v tr cua
toan mang . trong ham co bien tmp dung e bac cau khi hai bien hoan
oi v tr cho nhau .
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void nhapmang(int a[100],int n)
{
for(int i=0;i<n;i++)
{
printf("Nhap a[%d]",i);
scanf("%d",&a[i]);
}

http://vndownloads.net

34 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
void daomang(int a[100],int n)
{
int tmp;
for(int i=0;i<n/2;i++)
{
if(a[i]!=a[n-i-1])
{
tmp=a[i];
a[i]=a[n-i-1];
a[n-i-1]=tmp;
}
}
}

void xuatmang(int a[100],int n)


{
for(int i=0;i<n;i++)
printf("%2d",a[i]);
}
void main()
{
clrscr();
int a[100],n;
printf("Nhap so pt cua mang");
scanf("%d",&n);
nhapmang(a,n);
daomang(a,n);
xuatmang(a,n);
getch();
}

HT

http://vndownloads.net

35 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 18
1. Y TNG THUAT TOAN :
a. Trc het ta phai viet mot ham kiem tra so nguyen to sau o viet
ham nhap mang .
b. So nguyen to la so ch chia het cho 1 va chnh no .
2. Y NGHA MOT SO BIEN TRONG BAI
Trong bai gom :
i. a[100] : mang toi a 100 phan t
ii. n : so phan t trong mang
iii. Ham int ktnt(int a[100] , int n) la ham kiem tra va tra ve gia tr
1 neu la so nguyen to va ngc lai tra ve 0
Trong ham co bien dem : dung e kiem soat so lan chia het
cho I neu la 1 lan th la so nguyen to ( v I chay t 2).
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
int ktnt(int x)
{
int dem=0;
for(int i=2;i<=x;i++)
{
if(x%i==0)
dem++;

http://vndownloads.net

36 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
if(dem==1)
return 1;
else
return 0;
}
void nhapmang(int a[100],int n)
{
for(int i=0;i<n;i++)
{
do
{
printf("Nhap a[%d]",i);
scanf("%d",&a[i]);
}while(!ktnt(a[i]));
}
}
void xuatmang(int a[100],int n)
{
for(int j=0;j<n;j++)
printf("%3d",a[j]);
}
void main()
{
clrscr();
int a[100],n;
printf("Nhap so phan tu cua mang");
scanf("%d",&n);
nhapmang(a,n);
xuatmang(a,n);
getch();
}

HT

http://vndownloads.net

37 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 19
1. Y TNG THUAT TOAN :
bai nay theo y tng cua toi ta nen cho ho nhap vao tuy y phan t au
tien sau o da tren phan t o kiem soat va khong che theo e bai
i. TH1 : Kiem tra neu pt au tien la le th khi I chan phai la so
chan va I le phai la so le .
ii. TH2 : Kiem tra neu pt au tien la chan th khi I chan phai la
so le va I le phai nhap so chan .
2. Y NGHA MOT SO BIEN TRONG BAI :
a[100] : la mang phan t toi a la 100 k t
n : s phn t ca mng
I : l bin chy ca mt s hm for
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
int kt_chan_le(int x)
{
if(x%2==0)
return 1;
else
return 0;
}
void nhapmang(int a[100],int n)
{
printf("Nhap a[0]"); // Nhap va xet ngay so dau tien cua mang

http://vndownloads.net

38 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


scanf("%d",&a[0]);
if(kt_chan_le(a[0]))
{
for(int i=1;i<n;i++)
{
if(!kt_chan_le(i))
{
do
{
printf("Nhap a[%d]",i);//Nhap tung phan tu le
scanf("%d",&a[i]);
}while(kt_chan_le(a[i])); //chan nhap lai
}
else
{
do
{
printf("Nhap a[%d]",i); //Nhap tung phan tu chan
scanf("%d",&a[i]);
}while(!kt_chan_le(a[i])); //le nhap lai
}
}
}
else
{
for(int i=1;i<n;i++)
{
if(kt_chan_le(i))
{
do
{
printf("Nhap a[%d]",i);//Nhap tung phan tu le
scanf("%d",&a[i]);
}while(kt_chan_le(a[i])); //chan nhap lai
}
else
{
do
{
printf("Nhap a[%d]",i); //Nhap tung phan tu chan
scanf("%d",&a[i]);
}while(!kt_chan_le(a[i])); // le nhap lai
}
}
}
}
void xuat(int a[100],int n)
{
for(int i=0;i<n;i++)
printf("%3d",a[i]);

http://vndownloads.net

39 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
void main()
{
clrscr();
int a[100],n;
printf("Nhap so pt cua mang");
scanf("%d",&n);
nhapmang(a,n);
xuat(a,n);
getch();
}

HT

BAI 20
1. Y TNG THUAT TOAN :
a. bai nay ta ch can xuat ra theo kieu hnh ma tran la c
b. Ta ch nhap vao ma tran vi n dong va m cot sau o cho xuat ra ng
vi gia tr cot ta xuat tng ng ra cac gia tr dong ( VD : ma tran 3
x 3 th 00 , 01 , 11 ,30 , 31 , 32 ) Ta se xuat c ma tran chuyen
v cua ma tran nhap vao .
2. Y NGHA MOT SO BIEN TRONG BAI :
a. Trong bai ch co mang hai chieu a[ 50 ][50] cha toi a 50 dong va 50
cot
b. n : so dong cua ma tran
c. m : so cot cua ma tran
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void nhapmang(int a[50][50],int n,int m)
{
printf("Moi ban nhap mang vao day \n");
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
printf("a[%d][%d]",i,j);
scanf("%d",&a[i][j]);
}
}
}
void xuat_1(int a[50][50],int n,int m)
{
printf("Ma tran vua nhap la\n");
for(int i=0;i<n;i++)

http://vndownloads.net

40 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


{
for(int j=0;j<m;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
}
void xuat_2(int a[50][50],int n,int m)
{
printf("Xuat chuyen vi ma tran \n");
for(int i=0;i<m;i++)
{
for(int j=0;j<n;j++)
{
printf("%3d",a[j][i]);
}
printf("\n");
}
}
void main()
{
clrscr();
int a[50][50],n,m;
printf("Nhap so hang n=:");
scanf("%d",&n);
printf("Nhap so hang m=:");
scanf("%d",&m);
nhapmang(a,n,m);
xuat_1(a,n,m);
printf("\n");
xuat_2(a,n,m);
getch();
}

HET

http://vndownloads.net

41 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 21 :
1. Y TNG THUAT TOAN :
bai nay sau khi nhap ma tran ta gan cac phan t ve mang 1 chieu sau
o sap xep tang dan theo dang xoan oc bang cach gan cac phan t
mang b cho ma tran a .
2. Y NGHA MOT SO BIEN TRONG BAI :
a. Trong bai bao gom cac bien toan cuc:
i. a[50][50] : mang cha toi a 50 dong 50 cot
ii. b[2500] :cha toi a 2500 phan t
iii. k : so phan t cua mang b
iv. n , m : so dong va so cot cua ma tran a
b. Trong ham void ganlai_2c() : co nhiem vu gan lai mang a theo hnh
xoan oc co :
i. Bien tmpcot = so cot -1 ( v ta cho I chay t 0 )
ii. Bien tmpdong= so dong -1 ( tng t )
iii. Bien ptb : ngha la phan t cua b se gan cho ma tran a va v tr
se tang len sau khi gan ( ngha la chay len phan t ke tiep ) .
iv. dem : em so lan gan e khong che viec (VD : ma tran 3 x 4 th
ch gan 12 lan ma thoi )
v. ax : la bien tang dong vao ben trong , no phu thuoc vao x thay
oi theo x e tang ch so cac bien i sau vao ma tran .
vi. Dong for th nhat
Gan cho dong th nhat
vii. Dong for th hai :
1. Chay t tmpdong : la bien bien cot co nh
j : chay t 1 v a sap xep canh th nhat roi , j
tang se gan t t ma tran b vao cot bien .

http://vndownloads.net

42 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


2. Sau vong for nay ta phai xet neu dem = m*n th cho
dng tranh trng hp gan qua so phan t cua ma tran
b
viii. Dong for th 3 :
1. Bien z c gan bang tmpcot -1 co ngha la xet phan t
ben trong cot bien tr ve ( tranh trng hp xet phan
t cot va gan xong ) .

ix. Dong for th 4 :


1. bien t c gan bang tmpdong 1 , t giam en khi nao
> ax . V bo i phan t nam tren cung cot nhng dong
tren cua no .
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
int a[50][50],n,m,b[100],k=0; //Khoi tao mang toan cuc
/*---------------Nhap Mang Ban Dau------------------------*/
void nhapmang()
{
printf("Ban Hay Nhap so dong va so cot cua ma tran ");
scanf("%d%d",&n,&m);
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
printf("a[%d][%d]",i,j);
scanf("%d",&a[i][j]);
}
}
/*--------------Xuat Mang Ban Dau------------------------*/
void xuat()
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
printf("%3d",a[i][j]);

http://vndownloads.net

43 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

printf("\n");

}
/* -----------Gan Sang Mang 1 chieu va sap xep tang dan ---------*/
void gan1c()
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
b[k++]=a[i][j];
}
}
void sapxep()
{
int tmp;
for(int i=0;i<k-1;i++)
for(int j=i+1;j<k;j++)
{
if(b[i]>b[j])
{
tmp=b[i];
b[i]=b[j];
b[j]=tmp;
}
}
}
/*-----------Gan lai mang 2 chieu luc dau && Xuat-----------------------*/
void ganlai_2c()
{
int x=0,tmpcot=m-1,tmpdong=n-1,ptb=0,ax,dem=0;
while(dem<n*m)//Lap lai qua trinh gan cho den het ma tran
{
ax=x;
for(int i=ax;i<=tmpcot;i++) //gan vao bien 1 hang canh thu 1
{
a[ax][i]=b[ptb++] ;
dem++;
http://vndownloads.net

44 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

}
for(int j=ax+1;j<=tmpdong;j++) //gan vao bien2 cot canh thu 2
{
a[j][tmpcot]=b[ptb++];
dem++;
}
if(dem==n*m)
break;
for(int z=tmpcot-1;z>=ax;z--) // gan vao bien 3 hang canh thu 3
{
a[tmpdong][z]=b[ptb++];
dem++;
}
for(int t=tmpdong-1;t>ax;t--) // gan vao bien 4 hang canh thu 4
{
a[t][ax]=b[ptb++];
dem++;
}
x++;
tmpcot--; //giam vi tri tung bien de thanh soan oc
tmpdong--;

}
void xuata()
{
textcolor(-4);
cprintf("Mang sau khi sap xep la :\n");
printf("\n\n");
for(int i=0;i<n;i++)
{
for (int j=0;j<m;j++)
{
//textcolor(4);
printf("%4d",a[i][j]);
}
printf("\n\n");
}
}
/*--------------------------------MAIN--------------------------------*/
http://vndownloads.net

45 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


void main()
{
clrscr();
nhapmang();
xuat();
gan1c();
sapxep();
ganlai_2c();
xuata();
getch();
}

HET

BAI 22
1. Y TNG THUAT TOAN :
a. bai nay ta xet tng phan t mot sau o em so sanh vi cac phan t
trong mang
b. e thc hien bai toan tren ta can co hai vong lap
i. Vong lap 1 chay t phan t au tien cho en phan t ke cuoi
ii. Vong lap 2 chay t phan t sau v tr cua phan t vong lap th
1 sau o so sanh .
2. Y NGHA MOT SO BIEN TRONG BAI :
a. a[100] : mang 1 chieu toi a la 100 phan t
b. n : so phan t trong mang .
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void nhapmang(int a[100],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]",i);
scanf("%d",&a[i]);
}
}
void sapxep(int a[100],int n)
{
int tmp;

http://vndownloads.net

46 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(a[i]>=a[j])
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
}
}

void xuatmang(int a[100],int n)


{
for(int i=0;i<n;i++)
printf("%3d",a[i]);
}
void main()
{
clrscr();
int a[100],n;
printf(" Nhap so phan tu cua mang ");
scanf("%d",&n);
nhapmang(a,n);
xuatmang(a,n);
sapxep(a,n);
printf("\n Mang sau khi duoc sap xep la \n");
xuatmang(a,n);
getch();
}

HT

http://vndownloads.net

47 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 23 :
1. Y TNG THUAT TOAN :
a. Trc het viet ham tm so nguyen to .
b. Cho vong lap e xac nh c so nguyen to au tien va gan cho no la
ln nhat .
c. Sau o tao mot vong lap quet het cac phan t va kiem tra neu thoa
i. Ln hn so nguyen to c xac nh luc au va
ii. La so nguyen to
d. Ta se tm c so nguyen to ln nhat .
2. Y NGHA MOT SO BIEN TRONG BAI :
a. bai nay ch co ham int ktnt(int x ) : trong o x la oi so can kiem tra
i la bien chay , dem : la em so lan chia het cho i
b. Ham void search(int a[100] , int n ) , trong o :
i. max : la bien dung e gan gia tr la so nguyen to ln nhat
ii. vt : la tm v tr cua so nguyen to ln nhat
c. Ham main() co :
i. a[100] : mang toi a co 100 phan t
ii. n : so phan t trong mang
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void nhapmang(int a[100],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]",i);
scanf("%d",&a[i]);
}
}
int ktnt(int x)
{
int dem=0;
for(int i=1;i<=x;i++)

http://vndownloads.net

48 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


{

if(x%i==0)

dem++;
}
if(dem==2)
return 1;
else
return 0;
}
void xuatmang(int a[100],int n)
{
for(int i=0;i<n;i++)
printf("%3d",a[i]);
}
void search(int a[100],int n)
{
int max=0,vt;
// vi so nguyen to luon lon hon 0
for(int i=0;i<n;i++)
{
if(ktnt(a[i]))// neu kiem tra dung thi gan cho max
{
if(a[i]>max) // neu phan tu thu i lon hon max thi gan cho max
{
max=a[i];
vt=i+1;
}
}

}
if(max==0)
printf("Trong mang khong co so nguyen to ");
else
printf(" \n So nguyen to lon nhat trong mang la %d tai phan tu so %d" , max,vt);
}

http://vndownloads.net

49 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

void main()
{
clrscr();
int a[100],n;
printf(" Nhap so phan tu cua mang ");
scanf("%d",&n);
nhapmang(a,n);
xuatmang(a,n);
search(a,n);
getch();
}

BAI 24
http://vndownloads.net

50 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

1. Y TNG THUAT TOAN :


a. Phai co mot ham tnh tong cac phan t tren mot hang va co mot ham
hoan oi v tr cac phan t hai hang vi nhau .
b. Sau o viet mot ham co vong lap kiem tra va hoan oi ong thi viet
mot ham sap xep cac phan t tang dan tren tng hang .
2. Y NGHA MOT SO BIEN TRONG BAI :
a. bai nay th co cac ham :
i. Ham int tong_hang(int a[50][50] , int m ,int k) : ham nay co
nhiem vu tra ve con so co gia tr la tong cua hang k truyen vao
.trong ham co bien t : lam nhiem vu cong don , z : la bien chay
vong lap
ii. Ham void swap_hang(int a[50][50] , int m ,int x ,int y ) : lam
nhiem vu hoan oi cac phan t gia hai hang x va y .
iii. Ham void sapxep( int a[50][50] , int n ,int m) : lam nhiem vu sap
xep theo e bai . Trong ham co cac bien :
1. k : la bien gii han hang xet ch chay ti dong ke cuoi
ma thoi
2. z : la bien ng vi mot gia tr cua k th z se quet t k+1
cho en dong cuoi cung
3. ong thi trong ham con co sap xep cac phan t tang
dan theo tng hang co 3 dong for
a. Vong for th nhat : gii han xet hang
b. Vong for th hai : lay tng phan t i so sanh
c. Vong for th ba : se chay cac phan t tiep theo
ng t gia tr phan t cua Vong for th hai
maquet cho en het so phan t tren hang o roi
sap xep .
iv. ham main() : co cac bien a[50][50] : mang toi a 50 hang va
50 cot , n : so hang cua mang , m : so cot cua mang .
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
/*----------------Nhap Mang & Xuat Mang -----------------*/
void nhapmang(int a[50][50],int n,int m)
{
for(int i=0;i<n;i++)

http://vndownloads.net

51 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


for(int j=0;j<m;j++)
{
printf("a[%d][%d]",i,j);
scanf("%d",&a[i][j]);
}
}
void xuatmang(int a[50][50],int n,int m)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
}
/*------------Tinh Tong cac phan tu tren hang ------------*/
int tong_hang(int a[50][50],int m,int k)
{
int t=0;
for(int z=0;z<m;z++)
t+=a[k][z];
return t;
}
/*--------------Hoan doi Vi Tri cua hai hang -------------*/
void swap_hang(int a[50][50],int m,int x ,int y)
{
int tmp;
for(int i=0;i<m;i++)
{
tmp=a[x][i];
a[x][i]=a[y][i]; //Doi cho phan tu tuong ung cua hai hang
a[y][i]=tmp;
}
}
/*----------------Goi hai ham tren sap xep va sap xep tang dan tung hang----*/
void sapxep(int a[50][50],int n,int m)
{
int k=0,z,tmp;
while(k<n-1) // sap xep tang theo tung cai tong cua hang
{
for(z=k+1;z<n;z++)
{
if(tong_hang(a,m,k)>tong_hang(a,m,z))
swap_hang(a,m,k,z);
}
k++;

http://vndownloads.net

52 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
// Sap xep tung hang tang dan
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
for(int p=j+1;p<m;p++)
{
if(a[i][j]>a[i][p])
{
tmp=a[i][j];
a[i][j]=a[i][p];
a[i][p]=tmp;
}
}
}
/*--------------------Ham Chinh --------------------------------*/
void main()
{
clrscr();
int a[50][50],n,m;
printf("Nhap so dong");
scanf("%d",&n);
printf("Nhap so cot");
scanf("%d",&m);
nhapmang(a,n,m);
xuatmang(a,n,m);// Xuat Mang Luc Dau
sapxep(a,n,m);
printf("\n\nsau khi sap xep mang la\n");
xuatmang(a,n,m);// Xuat Mang Luc sau
getch();
}

HT

BAI 25
1. Y TNG THUAT TOAN :
http://vndownloads.net

53 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


a. Ta phai xac nh ma tran tch thu c la co so dong la so dong cua
ma tran 1 va so cot la so cot cua ma tran 2 .
b. T o xac nh c gia tr gii han cua vong lap roi nhan theo
phng phap nhan 2 ma tran .
c. Lu y Phai co ca hai ieu kien sau mi tnh tch c
i. so cot cua ma tran 1 bang so dong cua ma tran 2
2. Y NGHA MOT SO BIEN TRONG BAI :
a. Trong bai co ham :
i. Void xuatmatran3(int kq[10][10] ,int a[10][10] , int b[10][10] ,int
n ,int m , int c) : lam nhiem vu nhan va xuat ma tran ket qua .
ii. Trong ham co 3 dong for :
1. Vong for th nhat : Chay tren tng dong cua ma tran 1
2. Vong for th hai : Chay tren tng cot cua ma tran 2
3. Vong for th ba : ng vi tng gia tr cua Vong for th
nhat va vong for th hai no quet tren tng phan t .
4. sau khi tnh in ra phan t o luon .
b. ham main() gom :
i. a[10][10] : ma tran toi a 10 hang 10 cot
ii. n, m : la so dong va so cot cua ma tran a
iii. b[10][10] : ma tran toi a 10 hang 10 cot
iv. d, c : la so dong va so cot cua ma tran b
v. kq[10][10] : la ma tran ket qua co toi a la 10 dong va 10 cot
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void nhapmatran1(int a[10][10],int n,int m)
{
int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
{
printf("a[%d][%d] ",i,j);
scanf(" %d",&a[i][j]);
}
}

http://vndownloads.net

54 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


void nhapmatran2(int b[10][10] ,int d,int c)
{
int i,j;
for(i=1;i<=d;i++)
{
for(j=1;j<=c;j++)
{
printf("b[%d][%d]",i,j);
scanf("%d",&b[i][j]);
}
}
printf("\n\n\n");
}
void xuatmatran3(int kq[10][10],int a[10][10],int b[10][10],int n,int m,int c)
{
int i,j,k;
printf(" Ma tran ket qua la \n\n\n");
for(i=1;i<=n;i++)
{
for(j=1;j<=c;j++)
{
kq[i][j]=0;
for(k=1;k<=m;k++)
{
kq[i][j]+=a[i][k]*b[k][j];
}
//textcolor(i-9);
printf("%5d",kq[i][j]);
}
printf("\n");
}
}
void main()
{
clrscr();
int n,m,d,c,a[10][10],b[10][10],kq[10][10];
printf("Nhap vao so Dong Va Cot cua ma tran 1 ");
scanf("%d%d",&n,&m);
http://vndownloads.net

55 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


nhapmatran1(a,n,m);
printf("Nhap vao so Dong Va Cot cua ma tran 2 ");
scanf("%d%d",&d,&c);
nhapmatran2(b,d,c);
if((n==c)&&(m==d))
xuatmatran3(kq,a,b,n,m,c);
else
printf("Hai ma tran nay khong nhan voi nhau duoc ");
getch();
}
HET

BAI 26
1. Y TNG THUAT TOAN :
Tng t bai so nguyen to ln nhat bai 23 . Nhng bai nay ta can tm
ra so am au tien sau o t v tr so am o quet cho en het mang va tm
ra so am ln nhat .
2. Y NGHA MOT SO BIEN TRONG BAI :

http://vndownloads.net

56 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


a. Trong bai co ham void search_am(int a[100] ,int n ) : lam nhiem vu tm
va in ra so am ln nhat trong mang . Trong o co cac bien :
i. max : la cha so am ln nhat bien max thay oi theo gia tr cua
so am tren mang .
ii. vt : la bien cha v tr cua phan t hien ang la so am ln nhat
b. Ham main() co :
i. a[100] : mang 1 chieu toi a 100 phan t .
ii. n : so phan t trong mang .
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void nhapmang(int a[100],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]",i);
scanf("%d",&a[i]);
}
}
void xuatmang(int a[100],int n)
{
for(int i=0;i<n;i++)
printf("%3d",a[i]);
}
void search_am(int a[100],int n)
{
int max=0,vt;
for(int i=0;i<n;i++)
{
if(a[i]<0)
{
max=a[i];
break;
}
}
if(max==0)
printf(" Trong mang khong co so am ");
else
{
for(int j=vt+1;j<n;j++)
//tim so Am lon nhat va vi tri
{
if(a[j]<0)
if(a[j]>max)
{
max=a[j];

http://vndownloads.net

57 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


vt=j+1;
}
}
printf(" \n So Am lon nhat trong mang la %d tai phan tu so %d" , max,vt);
}
}

void main()
{
clrscr();
int a[100],n;
printf(" Nhap so phan tu cua mang ");
scanf("%d",&n);
nhapmang(a,n);
xuatmang(a,n);
search_am(a,n);
getch();
}

HT

BAI 27
1. Y TNG THUAT TOAN :
bai nay ta can em so phan t cua mot mang con tang bang cach va
xet va em sau o lu lai v tr cua phan t bat au xet va lu lai v tr
cua phan t ket thuc mang con tang . e thc hien c nh vay ta can
co mot bien lu lai so phan t cua mang con tang sau o neu co mang

http://vndownloads.net

58 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


con tang nao dai hn na th lu lai nhng thong tin cua mang nh a noi
tren .
2. Y NGHA MOT SO BIEN TRONG BAI :
a. Trong ham void xuatmang_tang(int a[100] , int n ) gom co :
i. Bien vitri_1 : la bien e lu lai v tr cua phan t au tien trong
mang con tang dai nhat .
ii. Bien vitri_2 : la bien e lu lai v tr cuoi cung cua mang con
tang dai nhat .
iii. Bien s : la bien e lu lai v tr c tnh t phan t au tien
a[0] en phan t ket thuc cua mang con tang dai nhat
iv. Bien t : la bien em so phan t trong mang con tang .
b. Trong ham main() co :
i. a[100] : mang toi a la 100 phan t
ii. n : la so phan t trong mang
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
/*-----------------------HAM NHAP MANG --------------------------*/
void nhapmang(int a[100],int n)
{
int i;
printf("Ban hay Nhap Mang vao :\n");
for(i=0;i<n;i++)
{
printf("a[%d] =",i);
scanf("%d",&a[i]);
}
}
void xuatmang(int a[100],int n)
{
int i;
for(i=0;i<n;i++)
printf("%4d",a[i]);
printf("\n\n");
http://vndownloads.net

59 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
void xuatmang_tang(int a[100],int n)
{
int vitri_1,vitri_2=0,t,s;
for(int i=0;i<n;i+=t+1)//Ham for xet nhay
{
t=0; //bat dau luon bang 0
for(int j=i;j<n-1;j++)
{
if(a[j]<=a[j+1])
t+=1; //dem mang con tang co bao nhieu pt
else
break; // Thoat khi khong tang nua
}
if(t>vitri_2)
{
vitri_1=i;//Tu pt bat dau xet
vitri_2=t; //pt ket thuc mang con tang
s=vitri_1+vitri_2;// s la bien tinh tu pt a[0] cho
}
// den pt ket thuc mang con tang
}
printf("Mang con tang dai nhat la :");
for(int k=vitri_1;k<=s;k++)
printf("%4d",a[k]);
}
void main()
{
clrscr();
int a[100],n;
printf("Ban hay nhap so phan tu cua mang :");
scanf("%d",&n);
nhapmang(a,n);
xuatmang(a,n);
http://vndownloads.net

60 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


xuatmang_tang(a,n);

getch();

HET

BAI 28
1. Y TNG THUAT TOAN :
a. Ta cung can co mot ham kiem tra nguyen to tng t nh cac bai
trc e xet tng phan t . Neu tai o la so nguyen to th ta phai thc
hien ham di mang i mot k t .
b. Sau khi di ta gan tai v tr pha sau phan t o la 5
c. Lu y cho vong lap cong them 2 hi a gan
2. Y NGHA MOT SO BIEN TRONG BAI :

http://vndownloads.net

61 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


a. Trong bai co ham void insert(int a[100] , int &n ) dung e chen them
phan t la 5 vao sau phan t la so nguyen to .
b. Trong ham main() co :
i. a[100] : la mang toi a co 100 phan t
ii. n : so phan t cua mang
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void nhapmang(int a[100],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]",i);
scanf("%d",&a[i]);
}
}
int ktnt(int x)
{
int dem=0;
for(int i=1;i<=x;i++)
{
if(x%i==0)
dem++;
}
if(dem==2)
return 1;
else
return 0;
}

void xuatmang(int a[100],int n)


{
for(int i=0;i<n;i++)
printf("%3d",a[i]);
http://vndownloads.net

62 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}

void insert(int a[100],int &n)


{
int i=0;
while(i<n)
{
if(ktnt(a[i]))
{
for(int j=n;j>i+1;j--)
a[j]=a[j-1];
a[i+1]=5;
n+=1;
i+=2;
}
else
i++;
}
}

void main()
{
clrscr();
int a[100],n;
printf(" Nhap so phan tu cua mang ");
scanf("%d",&n);
nhapmang(a,n);
xuatmang(a,n);
insert(a,n);
http://vndownloads.net

63 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

printf("\n Mang sau khi chen voi dieu kien de bai la \n");
xuatmang(a,n);
getch();

HET

BAI 29
1. Y TNG THUAT TOAN :
a. bai nay ta ch can em so lan xuat hien cua so au tien la bao nhieu
lan sau o gan gia s cho no la ln nhat ,roi quet tren mang neu gap
phan t nao xuat hien nhieu hn th ta gan cho no la ln nhat .
b. Trc het ta can co mot ham em phan t , sau o la viet mot ham
em kiem soat , neu gap phan t giong phan t a em roi th khong
em na ngc lai th em va gan gia s la ln nhat nh a noi tren
2. Y NGHA MOT SO BIEN TRONG BAI :
http://vndownloads.net

64 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


a. Trong bai co ham int dempt( int x , int a[100] , int n ,int i ) : lam nhiem
vu la em so lan xuat hien cua phan t o t no tr i . v cac so
trc no a xet va em nen khong can em lai .
b. Ham void max_xuat( int a[100] , int n ) : lam nhiem vu xet va tm ra
phan t xuat hien nhieu nhat , trong ham co cac bien :
i. max : e cha so lan xuat hien cua phan t
ii. pt : la e lu lai gia tr cua phan t xuat hien nhieu nhat .
iii. Vong lap for th nhat : quet tat ca cac phan t t phan t au
tien cho en phan t cuoi cung .
iv. Vong for th hai : ng moi gia tr cua phan t tai v tr i th ta
xet phan t o co giong mot phan t nao pha truc o hay
khong neu giong th khong em na thoat khoi vong lap tang
gia tr i len ngc lai th em .
c. Ham main() gom cac bien :
i. a[100] : mang phan t toi a 100 k t
ii. n: so phan t trong mang .
3. BAI GIAI

#include<stdio.h>
#include<conio.h>
void nhapmang(int a[100],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]",i);
scanf("%d",&a[i]);
}
}
int ktnt(int x)
// Kiem tra co phai la so ngto khong
{
int dem=0;
for(int i=1;i<=x;i++)
{

http://vndownloads.net

65 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


if(x%i==0)
dem++;
}
if(dem==2)
return 1; // dung tra ve 1
else
return 0; // sai tra ve 0
}

void xuatmang(int a[100],int n)


{
for(int i=0;i<n;i++)
printf("%3d",a[i]);
}
/* ----------------- Tim so nguyen to va xoa di --------------*/
void xoa_ngto(int a[100],int &n)
{
int i=0;
while(i<n)
{
if(ktnt(a[i]))
{
for(int j=i;j<n-1;j++)
a[j]=a[j+1];
n-=1; // Giam so pt sau khi xoa di
}
else
i++;
}
}

void main()
{
clrscr();
int a[100],n;
printf(" Nhap so phan tu cua mang ");
scanf("%d",&n);
nhapmang(a,n);
xuatmang(a,n);
xoa_ngto(a,n);
printf("\n Mang sau khi xoa voi dieu kien de bai la \n");
xuatmang(a,n);
getch();
}

HT

http://vndownloads.net

66 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 30
1. Y TNG THUAT TOAN :
a. bai nay cung tng t nh nhng bai tren ta cung can co mot ham
kiem tra so o co phai la so nguyen to hay khong .
b. Neu phai th tai v tr o di mang tr ve mot phan t .
2. Y NGHA MOT SO BIEN TRONG BAI :
a. Ham kiem tra so nguyen to tng t nh li giai thch cua nhng bai
tren
b. Ham void xoa_ngto( int a[100] , int &n ) : lam nhiem vu xoa cac so
nguyen to co trong mang
c. Ham main() gom cac bien :
i. a[100]: mang toi a co 100 phan t
ii. n : so phan t cua mang
http://vndownloads.net

67 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
void nhapmang(int a[100],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]",i);
scanf("%d",&a[i]);
}
}
int ktnt(int x)
// Kiem tra co phai la so ngto khong
{
int dem=0;
for(int i=1;i<=x;i++)
{
if(x%i==0)
dem++;
}
if(dem==2)
return 1; // dung tra ve 1
else
return 0; // sai tra ve 0
}

void xuatmang(int a[100],int n)


{
for(int i=0;i<n;i++)
printf("%3d",a[i]);
}
/* ----------------- Tim so nguyen to va xoa di --------------*/
void xoa_ngto(int a[100],int &n)
{
int i=0;
while(i<n)
{
if(ktnt(a[i]))
{
for(int j=i;j<n-1;j++)
a[j]=a[j+1];
n-=1; // Giam so pt sau khi xoa di
}
else
i++;
}

http://vndownloads.net

68 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}

void main()
{
clrscr();
int a[100],n;
printf(" Nhap so phan tu cua mang ");
scanf("%d",&n);
nhapmang(a,n);
xuatmang(a,n);
xoa_ngto(a,n);
printf("\n Mang sau khi xoa voi dieu kien de bai la \n");
xuatmang(a,n);
getch();
}

HT

BAI 31
1. Y TNG THUAT TOAN :
bai nay ta ch can viet ham sap xep cac so dng bang cach co hai
vong lap
i. Vong lap th nhat : lam nhiem vu quet cac phan t t phan t
au tien cho en phan t ke cuoi
ii. Vong lap th hai : ng vi cac gia tr phan t cua vong lap th
nhat vong lap th hai quet en het mang sau o lam nhiem vu
hoan oi neu thoa ieu kien .
2. Y NGHA MOT SO BIEN TRONG BAI :
a. Trong bai co :
i. a[100] : mang toi a 100 phan t
ii. n : so phan t trong mang
3. BAI GIAI :

http://vndownloads.net

69 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


#include<stdio.h>
#include<conio.h>
void nhapmang(int a[100],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]",i);
scanf("%d",&a[i]);
}
}
void sapxep(int a[100],int n)
{
int tmp;
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(a[i]>=0)
{
if((a[i]>a[j])&&(a[j]>=0))
{
tmp=a[i];
a[i]=a[j];
a[j]=tmp;
}
}
else
break;
}
}
}
void xuatmang(int a[100],int n)
{
for(int i=0;i<n;i++)
printf("%3d",a[i]);
}
void main()
{
clrscr();
int a[100],n;
printf(" Nhap so phan tu cua mang ");
scanf("%d",&n);
nhapmang(a,n);
xuatmang(a,n);
sapxep(a,n);
printf("\n Mang sau khi sap xep tang dan cac so duong la \n\n");
xuatmang(a,n);
getch();
}

http://vndownloads.net

70 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

HET

BAI 32
1. Y TNG THUAT TOAN :
a. bai nay ta nen u tien lay phan t gan vi x ma ng trc x
b. Ta phai co mot ham lam nhiem vu tm phan t gan vi x nhat .
2. Y NGHA MOT SO BIEN TRONG BAI :
a. ham void search_pt(int a[50][50] , int n ,int m , int x ) gom co :
i. min : la bien cha hieu cua so x va phan t a[0][0] .
ii. y : la bien cha hieu gia x va a[i][j] .
iii. pt : la bien cha gia tr cua phan t gan vi x nhat .
b. ham main() :
i. a[50][50] : mang co toi a 50 dong 50 cot
ii. n , m : la so dong va so cot
iii. x : la bien c input .
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
#include<math.h>

http://vndownloads.net

71 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


/*----------------Nhap Mang & Xuat Mang -----------------*/
void nhapmang(int a[50][50],int n,int m)
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
printf("a[%d][%d]",i,j);
scanf("%d",&a[i][j]);
}
}
void xuatmang(int a[50][50],int n,int m)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
}
void search_pt(int a[50][50],int n,int m,int x)//x la so nguoi dung nhap vao
{
int min,pt,y;
min=abs(x-a[0][0]); // gan hieu voi pt dau tien la nho nhat
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
y=abs(x-a[i][j]);
if(y<min)
{
min=y;
pt=a[i][j];
}
if((y==min)&&(a[i][j]<pt))// Lay so nho hon ma gan voi x
{
min=y;
pt=a[i][j];
}
}
printf("Phan Tu gan voi X nhat la %d ",pt);
}

void main()
{
clrscr();

http://vndownloads.net

72 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


int a[50][50],n,m,x;
printf("Nhap vao so dong ");
scanf("%d",&n);
printf("Nhap vao so cot ");
scanf("%d",&m);
printf("Nhap vao pt x ");
scanf("%d",&x);
nhapmang(a,n,m);
xuatmang(a,n,m);
search_pt(a,n,m,x);
getch();
}

HT

BAI 33 :
1. Y TNG THUAT TOAN :
a. bai nay ta ch can ve mot ma tran vuong cap 4 chang han sau o
quan sat cac bien chay thay oi roi tm ra quy luat cua no .
b. V du muon tnh tong cac phan t tren ng cheo chnh chang han
trong ma tran cap 4 th cac phan t cac v tr nh sau ( 00 ,11 , 22 ,
33 ) th ta cho vong lap chay t 0 cho en n-1 sau o khai bao mot
bien cong don lai cac phan t a[i][i] khi vong lap chay .
2. Y NGHA MOT SO BIEN TRONG BAI :
Trong bai ch co mang a[50][50] : toi a 50 dong 50 cot , n : la cap ma
tran
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
/*----------------Nhap Mang & Xuat Mang -----------------*/
void nhapmang(int a[50][50],int n)
{
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
{
printf("a[%d][%d]",i,j);
scanf("%d",&a[i][j]);

http://vndownloads.net

73 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
}
void xuatmang(int a[50][50],int n)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
}

/*--Sau Day la cac ham tinh tong tren duoi duong cheo chinh (ca duong cheo)--*/
void tongtg_tren0(int a[50][50],int n)
{
int sum=0;
for(int i=0;i<n-1;i++)
for(int j=i+1;j<n;j++)
{
sum+=a[i][j];
}
printf("Tong Tam Giac tren duong cheo chinh khong ke dcheo la %d \n",sum);
}
void tongtg_tren1(int a[50][50],int n)
{
int sum=0;
for(int i=0;i<n;i++)
for(int j=i;j<n;j++)
{
sum+=a[i][j];
}
printf("Tong Tam Giac tren duong cheo chinh ke ca dcheo la %d\n",sum);
}
void tongtg_duoi0(int a[50][50],int n)
{
int sum=0;
for(int i=1;i<n;i++)
for(int j=0;j<i;j++)
{
sum+=a[i][j];

http://vndownloads.net

74 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
printf("Tong Tam Giac duoi duong cheo chinh khong ke dcheo la %d\n",sum);
}
void tongtg_duoi1(int a[50][50],int n)
{
int sum=0;
for(int i=0;i<n;i++)
for(int j=0;j<=i;j++)
{
sum+=a[i][j];
}
printf("Tong Tam Giac duoi duong cheo chinh ke ca dcheo la %d\n",sum);
}

/*-----------------Thao tac tuong tu tren duong cheo phu -----------------*/


void tongtg_trenp0(int a[50][50],int n)
{
int sum=0;
for(int i=0;i<n-1;i++)
for(int j=0;j<=n-i-2;j++)
{
sum+=a[i][j];
}
printf("Tong Tam Giac tren duong cheo phu khong ke ca dcheo la %d\n",sum);
}
void tongtg_trenp1(int a[50][50],int n)
{
int sum=0;
for(int i=0;i<n;i++)
for(int j=0;j<=n-i-1;j++)
{
sum+=a[i][j];
}
printf("Tong Tam Giac tren duong cheo phu ke ca dcheo la %d\n",sum);
}
void tongtg_duoip0(int a[50][50],int n)
{
int sum=0;
for(int i=1;i<n;i++)
for(int j=n-i;j<n;j++)
{
sum+=a[i][j];

http://vndownloads.net

75 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
printf("Tong Tam Giac duoi duong cheo phu khong ke ca dcheo la %d\n",sum);
}
void tongtg_duoip1(int a[50][50],int n)
{
int sum=0;
for(int i=0;i<n;i++)
for(int j=n-i-1;j<n;j++)
{
sum+=a[i][j];
}
printf("Tong Tam Giac duoi duong cheo phu ke ca dcheo la %d\n",sum);
}
void main()
{
clrscr();
int a[50][50],n;
printf("Nhap Vao cap cua ma tran vuong");
scanf("%d",&n);
nhapmang(a,n);
xuatmang(a,n);// Xuat Mang Luc Dau
printf("Cac Thao Tac Tren Duong Cheo Chinh \n\n\n");
tongtg_tren0(a,n);
tongtg_tren1(a,n);
tongtg_duoi0(a,n);
tongtg_duoi1(a,n);
printf("\n\n");
printf(" Cac Thao Tac Tren Duong Cheo Phu \n\n\n");
tongtg_trenp0(a,n);
tongtg_trenp1(a,n);
tongtg_duoip0(a,n);
tongtg_duoip1(a,n);
getch();
}

HT

http://vndownloads.net

76 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 34
1. Y TNG THUAT TOAN :
a. Trc het ta phai xac nh chuyen mang sang may dong may cot .
b. Sau o mi gan t mang 1 chieu sang mang 2 chieu .
2. Y NGHA MOT SO BIEN TRONG BAI :
Trong bai ch co cac bien :
i. a[100] : mang 1 chieu co 100 phan t
ii. c[100][100] : mang 2 chieu co toi a la 100 dong va 100 cot
iii. x: la so phan t tren mang 1 chieu
iv. n , m : la cac bien input chnh la so dong va so cot cua ma tran
3. BAI GIAI :
#include<conio.h>
#include<stdio.h>
void nhap(int a[100],int n)
{
for(int i=0;i<n;i++)
{
printf("a[%d]=",i);
scanf("%d",&a[i]);
}
}
void xuat(int a[100],int n)
{
printf("ta co mang:\n");
for(int i=0;i<n;i++)
{
printf("%5d",a[i]);
}
printf("\n\n");

http://vndownloads.net

77 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
void doimang2(int c[100][100],int a[100],int n,int m)
{
int k=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
c[i][j]=a[k];
k++;
printf("%4d",c[i][j]);
}
printf("\n");
}
}
void main()
{
clrscr();
int n,a[100],b[100][100],c[100][100],x,m;
printf("nhap x la so phan tu cua mang 1 chieu:");
scanf("%d",&x);
printf("nhap dong:");
scanf("%d",&n);
printf("nhap cot:");
scanf("%d",&m);
nhap(a,x);
xuat(a,x);
doimang2(c,a,n,m);
getch();
}

HT

http://vndownloads.net

78 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 35
1. Y TNG THUAT TOAN :
Trong bai nay trc het ta kiem tra tren tng hang cua ma tran coi co
so 0 hay khong :
i. Co so 0 be khoi vong for xet tiep cac ieu kien e gan d
nhien la khong thoa .
ii. Neu dong o khong co so 0 th gan cho ma tran b
2. Y NGHA MOT SO BIEN TRONG BAI :
Trong bai co ham :
i. Void tao_mtb( int a[50][50] ,int b[50][50] , int &l , int n ,int m , int
&flag ) : lam nhiem vu tao ra ma tran b trong ham co :
1. p : la bien chay dong cua ma tran b .
2. vong for th nhat chay tren dong cua ma tran a .
3. vong for th hai ng vi vong for th nhat e chay tren
tng cot cua ma tran a
4. Neu vong for th hai chay en het ( ngha la khong co
so 0 tren dong hien tai ) th vong for th ba se gan ma
dong hien tai vao ma tran b .
ii. ham main() co :
1. a[50][50] : la mang co toi a la 50 dong va 50 cot .
2. n,m : la so dong va so cot cua ma tran a .
3. l : la so dong cua ma tran b
4. flag : la bien la c e biet b co nhan c gia tr nao hay
khong neu khong th khong xuat ra ma tran b .
3. BAI GIAI

http://vndownloads.net

79 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

#include<stdio.h>
#include<conio.h>
#include<math.h>
/*----------------Nhap Mang & Xuat Mang -----------------*/
void nhapmang_a(int a[50][50],int n,int m)
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
printf("a[%d][%d]",i,j);
scanf("%d",&a[i][j]);
}
}
void xuatmang_a(int a[50][50],int n,int m)
{
printf(" Ma Tran Luc Dau La \n");
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
printf("\n\n\n");
}
/*---------Khoi Tao mang b bang cach xoa cac dong chua so 0 o mang a di ---*/
void tao_mtb(int a[50][50],int b[50][50],int &l,int n,int m,int &flag)
{
int i,j,p=0;// bien flag muc dich de biet ma tran b co gia tri hay k
for(i=0;i<n;i++)
{
for(j=0;j<m;j++) // vong for kiem tra tren tung hang co so 0 hay khong
{

http://vndownloads.net

80 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


if(a[i][j]==0)// co thi dong ma tran b giam 1 va thoat
{
l-=1;
break;
}
//Neu khong co j tang den m va thoat xuong cau if xet va
}
if(j==m) //Neu thoa thi gan cho b
{
flag=1;
for(int k=0;k<m;k++)
b[p][k]=a[i][k];
p++; // tam thoi la bien de tang chi so dong cua b khi gan
}
}
}
void xuatmang_b(int b[50][50],int l ,int m)// mang a va b deu co so cot bang nhau
{
printf(" Ma Tran Luc b sau La \n\n");
for(int i=0;i<l;i++)
{
for(int j=0;j<m;j++)
printf("%3d",b[i][j]);
printf("\n");
}
}
void main()
{
clrscr();
int a[50][50],b[50][50],n,l,m,flag=0; // l la so hang cua ma tran b
printf("Nhap so dong cua mang a ");
scanf("%d",&n);
printf("Nhap so cot cua mang a ");
scanf("%d",&m);
nhapmang_a(a,n,m);
xuatmang_a(a,n,m);
l=n; // gan bang so dong cua ma tran a
tao_mtb(a,b,l,n,m,flag);
if(flag)
xuatmang_b(b,l,m);
else
printf(" Ma Tran B khong co gia tri ");
getch();
}

HT

http://vndownloads.net

81 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 36
1. Y TNG THUAT TOAN :
a. bai nay ta xet mot phan t roi so sanh het cac phan t trong mang
sau o oi cho , van e cho la ban phai xet phan t nh the nao va
quet theo tuan t nao .
b. Bai nay ta thc hien bang cach tao ra hai vong lap long nhau sau o
quet t phan t o cho het mang nhng quet theo tng cot . Nhng
lu y la v du nh mot ma tran 3 x 4 th gia s nh hai vong lap tren
xet ti phan t 03 th ta phai so sanh vi phan t th 01 tr i ( 11 , 21
, 31 .. 02 , 12 , 22,32 .) .
2. Y NGHA MOT SO BIEN TRONG BAI :
Trong bai co ham void sapxep(int a[50][50] , int n , int m )gom co cac bien
nh sau :
i. t : la bien nh v tr dong e xet en v tr ke tiep
ii. p : la bien chay quet tren tng cot ma ng mot gia tr p se
chay vong lap for k cho en khi k = n-1 hoan oi neu thoa va
xet tiep .
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
#include<math.h>
/*----------------Nhap Mang & Xuat Mang -----------------*/
void nhapmang(int a[50][50],int n,int m)
{
for(int i=0;i<n;i++)
for(int j=0;j<m;j++)
{
printf("a[%d][%d]",i,j);
scanf("%d",&a[i][j]);
}

http://vndownloads.net

82 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
void xuatmang(int a[50][50],int n,int m)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<m;j++)
{
printf("%3d",a[i][j]);
}
printf("\n");
}
}
void sapxep(int a[50][50],int n,int m)
{
int tmp,t,p;
for(int j=0;j<m;j++)
for(int i=0;i<n;i++)
{
if(i==n-1)
{
t=-1; //muc dich de cho k luc dau la 0
p=j+1;//so sanh voi phan tu o cot tiep theo khi pt dang o cuoi
cot nay
}
else
{
t=i;// k=phan tu ke tiep o dong duoi
p=j;// cung mot cot khi chua het dong
}
for(p;p<m;p++)
for(int k=t+1;k<n;k++)
{
if(a[i][j]>a[k][p])
{
tmp=a[i][j];
a[i][j]=a[k][p];
a[k][p]=tmp;
}
if(k==n-1)
{
t=-1;//Chuyen sang cot moi xet tu phan tu dau
tien
break;
}
}
}
}
void main()
{
clrscr();
int a[50][50],n,m,x;
printf("Nhap vao so dong ");
scanf("%d",&n);

http://vndownloads.net

83 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


printf("Nhap vao so cot ");
scanf("%d",&m);
nhapmang(a,n,m);
xuatmang(a,n,m);
sapxep(a,n,m);
printf("\n\n Ma Tran sau khi sap xep la \n\n");
xuatmang(a,n,m);
getch();
}

HT

http://vndownloads.net

84 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

BAI 37
1. Y TNG THUAT TOAN :
bai nay e viet cac ham :
i. Xoa au chuoi : trc het ta phai xac nh la co khoang trang
hay khong va neu co th co may khoang trang e ta di mang
k t ve vi so lan di bang so khoang trang . Sau o gan tai v
tr n-1 so khoang trang la k t \0 .
ii. Xoa gia chuoi : Neu gap hai khoang trang lien nhau th ta xoa
i mot khoang trang bang cach la di tai v tr khoang trang
o ve 1 k t .
iii. Xoa cuoi chuoi : Nu gp k t trng cui chui th ta di k t
\ 0 v 1 k t .
2. Y NGHA MOT SO BIEN TRONG BAI :
N : la o dai cua chuoi
3. BAI GIAI :
#include<conio.h>
#include<stdio.h>
#include<string.h>
void nhap(char *str)
{
gets(str);
}
void xuat(char *str)
{
puts(str);
}
void xoadauchuoi(char *&str,int &n)
{
int i=0,dem=0;
if(str[0]==' ')
{
while(str[i]==' ')
{
dem++;
i++;
}
for(int j=dem;j<n;j++)
http://vndownloads.net

85 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


{

str[j-dem]=str[j];

}
str[j-dem]='\0';
n-=dem;
}
else

return;

}
void xoagiuachuoi(char *&str,int &n )
{
for(int i=0;i<n;i++)
{
while((str[i]==' ')&&(str[i+1]==' '))
{
for (int j=i;j<n;j++)
{
str[j]=str[j+1];
}
n-=1;
}
}

void xoacuoichuoi(char *&str,int &n)


{
int i=n-1;
while(str[i]==' ')
{
str[i]='\0';
n-=1;//so phan tu cua chuoi giam di
i--;
}
}
void main()
{
http://vndownloads.net

86 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

clrscr();
char str[32768];
printf("Nhap chuoi ki tu ban dau \n " );
nhap(str);
int n=strlen(str);
printf("Chuoi ban dau co %d ki tu \n\n ",n);
xoadauchuoi(str,n);
xoagiuachuoi(str,n);
xoacuoichuoi(str,n);
printf("Chuoi sau khi thay doi la \n\n ");
xuat(str);
printf("Con lai %d ki tu " ,n);
getch();

HET

Bai 38 :
1. Y TNG THUAT TOAN :
http://vndownloads.net

87 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


bai nay trc het ta phai xet xem chuoi s1 co dai hn chuoi s2 khong .
sau o khai bao mot chuoi tam e cat mot chuoi bang o dai cua chuoi s2
em so sanh vi chuoi s2 .Neu bang th em tang len 1 ngc lai xet t
phan t tiep theo lai cat mot chuoi nh vay cho en het chuoi s1 .
2. Y NGHA MOT SO BIEN TRONG BAI :
a. s1[100] , s2[100] , tmp[100] : lan lt la chuoi s1 ,s2 va chuoi tam .
b. m : la o dai cua chuoi s1 .
c. n: la o dai cua chuoi s2 .
d. trong ham ganchuoi co cac bien :
i. x : la bien chay cac phan t cua chuoi tmp .
ii. i : la bien chuyen dch chuoi len 1 k t .
iii. k : la bien lap chay va u o dai cua chuoi s2 e em so sanh .
iv. p : la bien tra ve 0 neu s2 va tmp bang nhau .
3. BAI GIAI :
#include<stdio.h>
#include<conio.h>
#include<string.h>
void nhapchuoi1(char *s1)
{
printf("Nhap Vao Chuoi ki tu thu nhat :\n");
gets(s1);
}
void nhapchuoi2(char *s2)
{
printf("Nhap Vao Chuoi ki tu thu hai :\n ");
gets(s2);
}
void demchuoi(char *s1,char *s2,char *tmp,int n,int m,int &dem)
{
int x=0,i=0,p;
while(i<m)
{
for(int k=i;k<(i+n);k++)
{
tmp[x++]=s1[k];
http://vndownloads.net

88 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

}
tmp[x]='\0'; //gan ki tu het chuoi cho chuoi tmp de so sanh voi s2
p=strcmp(s2,tmp);
if(p==0)
dem++;
if((n==m)||(m-i<n)) //se ngung neu so ki tu con lai cua s1 nho hon s2
break;
// khong the so sanh bang duoc
x=0;
i++;
}
}
void main()
{
clrscr();
char s1[100],s2[100],tmp[100];
int n,m,dem=0;
nhapchuoi1(s1);
m=strlen(s1); //Do dai cua chuoi s1
nhapchuoi2(s2);
n=strlen(s2); // Do dai cua chuoi s2
if(m>=n)
{
demchuoi(s1,s2,tmp,n,m,dem);
if(dem==0)
printf("Khong co chuoi s2 trong s1 ");
else
printf("So lan xuat hien cua chuoi s2 trong s1 la %d lan " ,dem);
}
else
printf("\nKhong co Chuoi s2 trong s1 ");
getch();
}

Bai 39 :
1. Y TNG THUAT TOAN :

http://vndownloads.net

89 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


bai nay ta ch can nam ro bang ma ASCII la c . Cac k t hoa
co gia tr t 65 96 . Lu y Neu gap k t la khoang trang th khong
bien oi .
2. Y NGHA MOT SO BIEN TRONG BAI :
3. BAI GIAI :
#include<string.h>
#include<conio.h>
#include<stdio.h>
//---------------------HAM NHAP CHUOI --------------------------------------void nhap(char *str)
{
printf("Ban hay nhap vao chuoi chu hoa :\n");
gets(str);
}
//---------------------HAM XUAT CHUOI------------------------------------------void xuat(char *str)
{
textcolor(5);
cputs(str);
}
//--------------------HAM DOI THANH CHUOI THUONG -----------------------------------void change(char *str)
{
int n=strlen(str);
for(int i=0;i<n;i++)
{
if((str[i]<97)&&(str[i]>64)&&(str[i]!=' '))
str[i]=str[i]+32;
}
}
//---------------------CHUONG TRINH CHINH-----------------------------------void main()
{
clrscr();
char str[1000];
nhap(str);
http://vndownloads.net

90 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


printf("Mang luc dau nhap la : \n");
xuat(str);
change(str);
printf("\n");
printf("Mang sau khi chuyen doi la :\n");
xuat(str);
getch();
}
HET

Bai 40
#include<string.h>
#include<conio.h>
#include<stdio.h>
//---------------------HAM NHAP CHUOI --------------------------------------http://vndownloads.net

91 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


void nhap(char *str)
{
printf("Nhap vao chuoi ki tu : \n");
gets(str);
}
//---------------------HAM XUAT CHUOI------------------------------------------void xuat(char *str)
{
textcolor(2);
cputs(str);
}
//--------------------HAM DOI THANH CHUOI HOA-----------------------------------void doithanhhoa(char *str)
{
int n=strlen(str);
for(int i=0;i<n;i++)
{
if((str[i]>96)&&(str[i]<133)&&(str[i]!=' '))
str[i]=str[i]-32;
}
}

//---------------------CHUONG TRINH CHINH----------------------------------void main()


{
clrscr();
char str[1000];
http://vndownloads.net

92 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


nhap(str);
printf("Chuoi ki tu luc dau la : \n");
xuat(str);
doithanhhoa(str);
printf("\nChuoi ki tu luc sau la : \n");
xuat(str);
getch();
}
HET

Bai 41

//DEM SO TU CUA CHUOI


#include<conio.h>
#include<stdio.h>
#include<string.h>
//---------------------NHAP CHUOI ------------------------------------------void nhap(char *str)
http://vndownloads.net

93 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


{

gets(str);

}
//--------------------XUAT CHUOI---------------------------------------------void xuat(char *str)
{
puts(str);
}
//---------------------DEM SO TU TRONG CHUOI ---------------------------------int dem(char *str)
{
int dem;
if (str[0]==' ')
dem=0;
else
dem=1;
for (int i=0;i<strlen(str);i++)
if((str[i]==' ')&&(str[i+1]!=' '))
dem+=1;
return dem;
}

//--------------------CHUONG TRINH CHINH-----------------------------------void main()


{
clrscr();
char str[10000];
nhap(str);
xuat(str);
printf("\n");
printf(" so tu cua chuoi la %d",dem(str));
getch();
}

http://vndownloads.net

94 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

HET

http://vndownloads.net

95 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

Bai 42
#include<conio.h>
#include<stdio.h>
#include<math.h>
struct sophuc
{
float thuc;
float ao;
};
void nhap(sophuc &c)
{
printf("ban hay nhap vao phan thuc ");
scanf("%f",&c.thuc);
printf("ban hay nhap vao phan ao ");
scanf("%f",&c.ao);
}
void cong(sophuc a,sophuc b)
{
sophuc c;
c.thuc=a.thuc+b.thuc;
c.ao=a.ao+b.ao;
printf("\n\n\nTong hai so phuc %f",c.thuc);
if(c.ao<0)
printf("%.2fi",c.ao);
else
printf("+%.2fi",c.ao);
}
void tru(sophuc a,sophuc b)
{
sophuc c;
c.thuc=a.thuc-b.thuc;
c.ao=a.ao-b.ao;
printf("\nHieu hai so phuc %.2f",c.thuc);
if(c.ao<0)
printf("%.2fi",c.ao);
else
printf("+%.2fi",c.ao);

http://vndownloads.net

96 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}
void nhan (sophuc a,sophuc b)
{
sophuc c;
c.thuc=a.thuc*b.thuc+a.ao*b.ao*(-1);
c.ao=a.thuc*b.ao+a.ao*b.thuc;
printf("\nTich cua hai so phuc %.2f",c.thuc);
if(c.ao<0)
printf("%.2fi",c.ao);
else
printf("+ %.2fi",c.ao);
}
void chia (sophuc a, sophuc b)
{
sophuc c;
float x;
x=pow(b.thuc,2)+pow(b.ao,2)*(-1); // Phan mau cua thuong hai so phuc
c.thuc=(a.thuc*b.thuc+a.ao*b.ao)/x; //Phan thuc tren tu chia
cho mau
c.ao=(a.thuc*b.ao*(-1)+a.ao*b.thuc)/x;//phan ao tren tu chia
cho mau
printf("\nThuong cua hai so phuc %.2f",c.thuc);
if(c.ao<0)
printf("%.2fi",c.ao);//Neu ao nho hon 0 thi in ra ao se co dau
tru
else
printf("+ %.2fi",c.ao);//nguoc lai se in ra + phan ao
}
void main()
{
clrscr();
sophuc a,b;
textcolor(5-10);
cprintf("Ban hay nhap vao so phuc a");
printf("\n");
nhap(a);
cprintf("Ban hay nhap vao so phuc b");
http://vndownloads.net

97 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


printf("\n");
nhap(b);
cong(a,b);
printf("\n");
tru(a,b);
printf("\n");
nhan (a,b);
printf("\n");
if((b.ao!=0)||(b.thuc!=0))
chia(a,b);
else
{
textcolor(-9);
printf("\n\n");
cprintf("Khong thuc hien phep chia duoc ");
}
getch();
}

HET

Bai 43
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>
http://vndownloads.net

98 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


//-------------------KHAI BAO PHAN SO---------------------------------------struct phanso
{
int tu;
int mau;
};
//-------------------NHAP PHAN TU-------------------------------------------void nhap(phanso &n)
{
printf("ban hay nhap vao tu so");
scanf("%d",&n.tu);
printf ("ban hay nhap vao mau so");
scanf("%d",&n.mau);
}
int ucln(int a,int b)
{
while((a!=0)&&(b!=0))
{
if(a>=b)
a-=b;
else
b-=a;
}
if(a==0)
return b;
else
return a;
}

//-------------------CONG HAI PHAN SO---------------------------------------phanso cong(phanso a, phanso b)


{
phanso c;
int x;
if(a.mau!=0&& b.mau!=0)
http://vndownloads.net

99 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


{

c.tu=a.tu*b.mau+a.mau*b.tu;
c.mau=a.mau*b.mau;
x=ucln(c.tu,c.mau);
c.tu/=x;
c.mau/=x;
return c;

}
else
}

exit(1);

//---------------------NHAN HAI PHAN SO---------------------------------------\


phanso nhan(phanso a,phanso b)
{
phanso c;
int x;
if(a.mau!=0&&b.mau!=0)
{
c.tu=a.tu*b.tu;
c.mau=a.mau*b.mau;
x=ucln(c.tu,c.mau);
c.tu/=x;
c.mau/=x;
return c;
}
else
exit(1);
}

//----------------------CHIA HAI PHAN SO--------------------------------------phanso chia(phanso a,phanso b)


http://vndownloads.net

100 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


{
phanso c;
int x;
if(a.mau!=0&&b.mau!=0&&b.tu!=0)
{
c.tu=a.tu*b.mau;
c.mau=a.mau*b.tu;
x=ucln(c.tu,c.mau);
c.tu/=x;
c.mau/=x;
return c;
}
else
exit(1);
}
//----------------------TRU HAI PHAN SO---------------------------------------phanso tru(phanso a,phanso b)
{
phanso c;
int x;
if(a.mau!=0&&b.mau!=0)
{
c.tu=a.tu*b.mau-b.tu*a.mau;
c.mau=a.mau*b.mau;
x=ucln(c.tu,c.mau);
c.tu/=x;
c.mau/=x;
return c;
}
else
exit(1);
}
//----------------------CHUONG TRINH CHINH-----------------------------------void main ()
{
clrscr();
phanso a;
phanso b;
http://vndownloads.net

101 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


textcolor(6-9);
cprintf("ban hay nhap vao phan so a");
printf("\n");
nhap(a);
cprintf ("ban hay nhap vao phan so b");
printf("\n");
nhap(b);
printf("tong hai phan so la %d/%d",cong(a,b));
printf("\n");
printf("hieu cua hai phan so %d/%d",tru(a,b));
printf("\n");
printf("tich cua hai phan so %d/%d",nhan(a,b));
printf("\n");
printf("thuong cua hai phan so %d/%d",chia(a,b));
getch();
}

HET

Bai 44 :
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct sinhvien
{
int mssv,phai;
char hoten[30];
float dtb;

http://vndownloads.net

102 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


};
void nhap(sinhvien sv[30],int n)
{
float tmp;
for(int i=0;i<n;i++)
{
printf("\nNhap thong tin sinh vien thu %d ", i+1);
printf("\nMa so sinh vien ");
scanf("%d",&sv[i].mssv);
printf("Ho Ten Sinh vien ");
fflush(stdin);
gets(sv[i].hoten);
printf("Phai ");
scanf("%d",&sv[i].phai);
printf("Diem Trung Binh ");
scanf("%f",&tmp);
sv[i].dtb=tmp;

void sapxep(sinhvien sv[30],int n)


{
sinhvien tmp;
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if(sv[i].mssv>sv[j].mssv)
{
tmp=sv[i];
sv[i]=sv[j];
http://vndownloads.net

103 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

sv[j]=tmp;

}
}

void xuat(sinhvien sv[30],int n)


{
printf("\n\nMaSo\t");
printf("Ho Ten \t\t\t");
printf("Phai \t");
printf("Diem TB\n\n");
for(int i=0;i<n;i++)
{
printf("%d\t",sv[i].mssv);
printf("%s",sv[i].hoten);
int z=strlen(sv[i].hoten);
for(int j=z;j<=24;j++)
printf(" ");
printf("%d",sv[i].phai);
printf("\t%.2f\n",sv[i].dtb);

void main()
{
clrscr();
sinhvien sv[30];
int n;
printf("\n\nNhap vao so sinh vien can nhap ");
scanf("%d",&n);
nhap(sv,n);
sapxep(sv,n);
xuat(sv,n);
getch();
}
http://vndownloads.net

104 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

HET

Bai 45 :
#include<stdio.h>
#include<conio.h>
#include<string.h>
struct sinhvien
{
int mssv,phai;
char hoten[30];
float dtb;
};
void nhap(sinhvien sv[30],int n)
http://vndownloads.net

105 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


{

float tmp;
for(int i=0;i<n;i++)
{
printf("\nNhap thong tin sinh vien thu %d ", i+1);
printf("\nMa so sinh vien ");
scanf("%d",&sv[i].mssv);
printf("Ho Ten Sinh vien ");
fflush(stdin);
gets(sv[i].hoten);
printf("Phai ");
scanf("%d",&sv[i].phai);
printf("Diem Trung Binh ");
scanf("%f",&tmp);
sv[i].dtb=tmp;
}

void insert(sinhvien sv[30],int vt,int &n)


{
float tmp;
for(int i=n;i>vt;i--)
{
sv[i]=sv[i-1];
}
n+=1;
printf("\n Nhap vao thong tin cua sinh vien can chen ");
printf("\nMa so sinh vien ");
scanf("%d",&sv[vt].mssv);
printf("Ho Ten Sinh vien ");
fflush(stdin);
gets(sv[vt].hoten);
printf("Phai ");
http://vndownloads.net

106 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


scanf("%d",&sv[vt].phai);
printf("Diem Trung Binh ");
scanf("%f",&tmp);
sv[vt].dtb=tmp;

}
void timsv_ms(sinhvien sv[30] , int maso , int n)
{
for(int i=0;i<n;i++)
{
if(sv[i].mssv==maso)
{
printf("%d\t",sv[i].mssv);
printf("%s",sv[i].hoten);
int z=strlen(sv[i].hoten);
for(int j=z;j<=24;j++)
printf(" ");
printf("%d",sv[i].phai);
printf("\t%.2f\n",sv[i].dtb);
}

void xuat(sinhvien sv[30],int n)


{
printf("\n\nMaSo\t");
printf("Ho Ten \t\t\t");
printf("Phai \t");
printf("Diem TB\n\n");
for(int i=0;i<n;i++)
{
printf("%d\t",sv[i].mssv);
printf("%s",sv[i].hoten);
http://vndownloads.net

107 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


int z=strlen(sv[i].hoten);
for(int j=z;j<=24;j++)
printf(" ");
printf("%d",sv[i].phai);
printf("\t%.2f\n",sv[i].dtb);
}
}
void main()
{
clrscr();
sinhvien sv[30];
int n,vt,maso;
char flag;
printf("\n\nNhap vao so sinh vien can nhap ");
scanf("%d",&n);
nhap(sv,n);
do
{
printf("Ban can chen nhan phim so 1 \n");
printf("Ban can tim nhan so 2 \n");
printf("Ban Nhan phim so 0 de thoat ");
fflush(stdin);
scanf("%c",&flag);
if(flag=='1')
{
printf(" Ban can chen vao sinh vien o vi tri thu may ");
scanf("%d",&vt);
vt-=1;
// Vi chay tu 0 nen phai tru di 1
insert(sv,vt,n);
}
if(flag=='2')
{
printf("Ban hay nhap ma so sinh vien can tim ");
scanf("%d",&maso);
timsv_ms(sv,maso,n);
}
if(flag=='0')
http://vndownloads.net

108 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


break;
}while((flag!='1')||(flag!='2'));

xuat(sv,n);
getch();
}

Bai 46 :
#include<stdio.h>
#include<conio.h>
void docfile(char x[30],unsigned long &dodai)
{
char ch;
// Bien dem ki tu
FILE *fp;
fp=fopen(x,"r");
if(fp==NULL)
("Khong The Mo Tap Tin ");
else
{
while((ch=getc(fp))!=EOF) //neu gap ki tu cuoi file thi ket thuc
{
putc(ch,stdout); //doc tung ki tu roi xuat ra man hinh
dodai++;
}
http://vndownloads.net

109 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

}
fclose(fp);
printf("\n\nDo dai cua File la %lu ",dodai);
}

void main()
{
clrscr();
unsigned long dodai=0;
char x[30]="bt46.txt";
docfile(x,dodai);
getch();
}

HET

Bai 47

#include<stdio.h>
#include<conio.h>
#include<string.h>
struct date
// khai bao bien cau truc ngay thang nam
{
int ngay,thang;
unsigned long nam;
};

struct nhanvien // dinh nghia kieu du lieu nhan vien bao gom
{
int msnv,phai;
char hoten[30];
char diachi[100];
char phone[10];
float luong;
date ngaybd,birthday;
http://vndownloads.net

110 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


};
/*----------------------HAM nhap nhan vien ------------------------*/
void nhap(nhanvien nv[30],int n)
{
float tmp;
for(int i=0;i<n;i++)
{
printf("\nNhap thong tin Nhan vien thu %d :", i+1);
printf("\n Ma so Nhan vien : ");
scanf("%d",&nv[i].msnv);
printf("Ho Ten Nhan vien :");
fflush(stdin);
gets(nv[i].hoten);
printf("Phai (1/0): ");
scanf("%d",&nv[i].phai);
printf("nhap vao ngay - thang - nam sinh :");
scanf("%d",&nv[i].birthday.ngay);
scanf("%d",&nv[i].birthday.thang);
scanf("%lu",&nv[i].birthday.nam);
printf("Dia chi cua Nhan vien thu %d :",i+1);
fflush(stdin);
gets(nv[i].diachi);
printf("So Dien Thoai lien lac :");
fflush(stdin);
gets(nv[i].phone);
printf("Ngay bat dau lam bao gom ngay - thang - nam :");
scanf("%d",&nv[i].ngaybd.ngay);
scanf("%d",&nv[i].ngaybd.thang);
scanf("%lu",&nv[i].ngaybd.nam);
printf("Nhap vao tien luong : ");
scanf("%f",&tmp);
nv[i].luong=tmp; //gan mot bien tmp
}
}

http://vndownloads.net

111 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


/*--------------------HAM luu len file ----------------------*/
void savefile(nhanvien nv[50],int n,char x[30])
{
float tmp;
float max_luong(nhanvien nv[50],int n); //khai bao cac prototype cho
ham
float min_luong(nhanvien nv[50],int n);
float average_luong(nhanvien nv[50],int n);
FILE *fp;
fp=fopen(x,"wt");
// xuat ra cac de muc khi ghi len file
fprintf(fp," MSNV\t");
fprintf(fp," Ho Ten\t\t\t");
fprintf(fp," Phai \t");
fprintf(fp," Ngay sinh \t\t");
fprintf(fp," Dia chi \t\t");
fprintf(fp," Dien thoai \t");
fprintf(fp," Ngay lam viec \t");
fprintf(fp," Luong \n\n");
// ghi lan luot tung nhan vien

hang

for(int i=0;i<n;i++)
{
fprintf(fp,"%d\t",nv[i].msnv);
fputs(nv[i].hoten,fp);
int z=strlen(nv[i].hoten);
for(int j=z;j<=25;j++) //xuat ra khoang trang de canh trai thang
fprintf(fp," ");
fprintf(fp,"%d\t",nv[i].phai);

fprintf(fp,"%d/%d/%lu\t",nv[i].birthday.ngay,nv[i].birthday.thang,nv[i].bir
thday.nam);
fputs(nv[i].diachi,fp);
http://vndownloads.net

112 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


z=strlen(nv[i].diachi);
for(int k=z;k<=35;k++)// tuong tu vong for tren
fprintf(fp," ");
fputs(nv[i].phone,fp);
fprintf(fp,"\t");
fprintf(fp,"%d/%d/%lu\t",nv[i].ngaybd.ngay,nv[i].ngaybd.thang,nv[i].ngay
bd.nam);
tmp=nv[i].luong;
fprintf(fp,"%.2f",tmp);
fprintf(fp,"\n\n\n");
}
fprintf(fp," - Luong thap nhat cua cong ty la : %.2f
\n",min_luong(nv,n));
fprintf(fp," - Luong cao nhat cua cong ty la : %.2f\n
",max_luong(nv,n));
fprintf(fp," - Luong trung binh cua cong ty la : %.2f
\n",average_luong(nv,n));
fclose(fp);
}
/*---------------------HAM in mot nhan vien ------------------------*/
void IN_list(nhanvien nv[50],int i)
{
float tmp;
printf("%d\t",nv[i].msnv);
puts(nv[i].hoten);
int z=strlen(nv[i].hoten);
for(int j=z;j<=25;j++) //xuat ra khoang trang de canh trai thang hang
printf(" ");
printf("%d\t",nv[i].phai);

http://vndownloads.net

113 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

printf("%d/%d/%lu\t",nv[i].birthday.ngay,nv[i].birthday.thang,nv[i].birthd
ay.nam);
puts(nv[i].diachi);
z=strlen(nv[i].diachi);
for(int k=z;k<=35;k++)
printf(" ");
puts(nv[i].phone);
printf("\t");
printf("%d/%d/%lu\t",nv[i].ngaybd.ngay,nv[i].ngaybd.thang,nv[i].ngaybd.n
am);
tmp=nv[i].luong;
printf("%.2f",tmp);
printf("\n");

}
/*-------------------------Ham sua thong tin nhan vien ---------------*/
void repair(nhanvien nv[50],int stt)
{
float tmp;
printf("\nBan Can sua Thong Tin cua Nhan Vien Thu %d ",stt);
printf("\nMa so Nhan vien ");
scanf("%d",&nv[stt-1].msnv);
printf("Ho Ten Nhan vien ");
fflush(stdin);
gets(nv[stt-1].hoten);
printf("Phai ");
scanf("%d",&nv[stt-1].phai);
printf("nhap vao ngay thang nam sinh ");
scanf("%d",&nv[stt-1].birthday.ngay);
scanf("%d",&nv[stt-1].birthday.thang);
scanf("%lu",&nv[stt-1].birthday.nam);
printf("Dia chi cua Nhan vien thu %d",stt);
fflush(stdin);
gets(nv[stt-1].diachi);
http://vndownloads.net

114 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


printf("So Dien Thoai lien lac :");
fflush(stdin);
gets(nv[stt-1].phone);
printf("Ngay bat dau lam bao gom ngay thang nam ");
scanf("%d",&nv[stt-1].ngaybd.ngay);
scanf("%d",&nv[stt-1].ngaybd.thang);
scanf("%lu",&nv[stt-1].ngaybd.nam);
printf("Nhap vao tien luong ");
scanf("%f",&tmp);
nv[stt-1].luong=tmp;

}
/*---------------Tim luong thap nhat -----------------------------*/
float min_luong(nhanvien nv[50],int n)
{
float min=nv[0].luong;
for(int i=1;i<n;i++)
{
if(nv[i].luong<min)
min=nv[i].luong;
}
return min;

}
/*---------------Tim luong trung binh -----------------------------*/
float average_luong(nhanvien nv[50],int n)
{
float luongtb,sum;
for(int i=0;i<n;i++)
{
sum+=nv[i].luong;
}
luongtb=sum/n;
return luongtb;
}
http://vndownloads.net

115 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

/*---------------In ra danh sach nhan vien cua cong ty---------------*/


void In_danhsach(nhanvien nv[50],int n)
{
printf("\n\nDANH SACH NHAN VIEN CONG TY LA : \n");
for(int i=0;i<n;i++)
{
IN_list(nv,i); //Goi ham in mot nhan vien
}
printf("\nNhan ENTER de coi nhan vien co luong cao nhat ");
}
/*-----------------Tim luong lon nhat va in ra nhan vien do --------*/

float max_luong(nhanvien nv[50],int n)


{
float luongmax;
luongmax=nv[0].luong;
for(int i=1;i<n;i++)
{
if(nv[i].luong>luongmax)
luongmax=nv[i].luong;
}
return luongmax;
}
void in_list_max(nhanvien nv[50],int n)
{
getch();
printf("\n\n-----------------------------------------------------------\n\n");
printf("\n\n Nhan vien co luong cao nhat la : \n");
float x=max_luong(nv,n);
for(int i=0;i<n;i++)
{
if(nv[i].luong==x)
IN_list(nv,i);
}
http://vndownloads.net

116 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}

void main()
{

clrscr();
nhanvien nv[50];
char x[30]="bt47.txt",ch;
int n,stt;
printf("nhap so luong nhan vien cong ty ");
scanf("%d",&n);
nhap(nv,n);
while(1) // sua va luu file cho den khi nao bam so phim so 0
{
savefile(nv,n,x);
printf("Ban can sua thong tin k - Nhan phim so 0 de
thoat Nhan phim bat ki de tiep tuc \n");
ch=getch();
if(ch=='0')
break;
printf("\nBan can sua thong tin cua nhan vien thu

may");

scanf("%d",&stt);
repair(nv,stt);

}
printf("\n Luong thap nhat cua co quan la %.2f
",min_luong(nv,n));
printf("\n Luong trung binh la %.2f:",average_luong(nv,n));
In_danhsach(nv,n);
in_list_max(nv,n);

getch();

http://vndownloads.net

117 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

http://vndownloads.net

118 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

Bai 48 :
#include<conio.h>
#include<stdio.h>
#include<string.h>
/*-------------Ham dem so lan xuat hien cua mot ki tu -----------*/

int dem_sotu(char str[255],char n)


{
int dem=0,x= strlen(str);
for (int i=0;i<x;i++)
{
if (str[i]==n)
dem++;
}
return dem;
}
/*----------------Dem so lan xuat hien cua mot ki tu trong file -----------*/
long count_tu(char s[50],char n)
{
FILE *p=fopen(s,"rt");//mo file dang text de doc
long dem=0;
char str[255];
// Mang ki tu str de luu dong van ban vua doc duoc
char *x = fgets(str,255,p); // vua doc vua kiem tra
while(x!=NULL)
{
dem+=dem_sotu(str,n);
x=fgets(str,255,p);
}
fclose(p);
return dem;
}
void main()
{
http://vndownloads.net

119 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


clrscr();
char s[50]="bt48.txt";
char c;
printf(" Nhap vao ki tu can dem :");
scanf("%c",&c);
printf(" Ki tu xuat hien trong file %ld lan",count_tu(s,c));

getch();

#include<conio.h>
#include<stdio.h>
#include<string.h>

Bai 49 :

/*-----------Ham dem so tu tren mot chuoi cho truoc ------*/


int count_sotu(char *str)//con tro *str cho den dia chi str
{
int dem;
int x = strlen(str);
if (str[0]==' ')
dem =0;
else
dem=1;
for (int i=0;i<x;i++)
{
if (str[i]==' '&&str[i+1]!=' ')
dem+=1;
}
if (str[x-2]==' ') //Tru truong hop truoc ki tu '\n' la khoang trang
dem-=1;
return dem;
}
http://vndownloads.net

120 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


/* -----------------Dem so tu trong file -------------------*/
long count_tu(char s[50])
{
long dem=0;
FILE *fp=fopen(s,"rt"); // Mo file de doc
char str[255];
char *x = fgets(str,255,fp);

while(x!= NULL)
{
dem+=count_sotu(str);
x=fgets(str,255,fp);
}
fclose(fp);
return dem;

/*-----------Ham chinh ----------------------*/

void main()
{
clrscr();
char s[50]="bt49.txt";
printf(" Trong file co %ld tu",count_tu(s));
getch();
}

http://vndownloads.net

121 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

Bai 50 ;
#include<conio.h>
#include<stdio.h>
#include<string.h>
void ghi(char s[50],char s1[50],char s2[50])
{
FILE *fp=fopen(s1,"rt");
FILE *fq=fopen(s2,"rt");
FILE *fk=fopen(s,"a+t");
char c[255];
int n;
//
char *x=fgets(c,255,p);
/*
while(x!=NULL)
{
fputs(c,q);
x=fgets(c,255,fp);
} */
char ch; int dem=1;
while((ch=getc(fp))!=EOF) //neu gap ki tu cuoi file thi ket thuc
{
fprintf(fk,"%c",ch);
}
fclose(fp);
while((ch=getc(fq))!=EOF)
{
if(dem==1)
{
if(ch>65&&ch<97)
{
fprintf(fk,"\n");
fprintf(fk,"%c",ch);
dem++;
}
else
fprintf(fk,"%c",ch);
dem++;
}
else
http://vndownloads.net

122 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


fprintf(fk,"%c",ch);
dem++;
}
fclose(fq);
fclose(fk);

}
void main()
{
clrscr();
char s1[50]="bt50a.txt";
char s2[50]="bt50b.txt";
char s[50]="filenoi.txt";
ghi(s,s1,s2);
getch();
}

http://vndownloads.net

123 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2

Mot So Bai Lam Them , Ti ay Ban Hay T Mnh Nhn Vao


Bai Va Suy Ra e Bai i Nhe . Hay Th Xem va Toi Ngh La
Ban Se Lam c ieu o .
Bai Them 1 :
#include<conio.h>
#include<stdio.h>
void nhap(int a[10][10],int n)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("nhap a[%d][%d]=",i,j);
scanf("%d",&a[i][j]);
}
}
}
void xuat(int a[10][10],int n)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
printf("%5d",a[i][j]);
}
printf("\n");
}

http://vndownloads.net

124 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


int min_hang(int a[10][10],int n,int i)
{
int min=a[i][0];
for(int z=0;z<n;z++)
{
if(a[i][z]<min)
min=a[i][z];
}
return min;
}
int max_cot(int a[10][10],int n,int j)
{
int max=a[0][j];
for(int m=0 ;m<n;m++)
{
if(a[m][j]>max)
max=a[m][j];
}
return max;
}

void yenngua(int a[10][10],int n)


{
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
if(a[i][j]==max_cot(a,n,j))
{
if(a[i][j]==min_hang(a,n,i))
{
printf("\n\n%4d",a[j][i]);
}
}

}
http://vndownloads.net

125 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


}

}
void main()
{
int a[10][10],n;
clrscr();
printf("nhap n:");
scanf("%d",&n);
nhap(a,n);
xuat(a,n);
yenngua(a,n);
getch();
}

Bai Them 2:
#include<conio.h>
#include<stdio.h>
long double gt(int n)
{
int kq=1,q=0,i;
for(i=1;i<=n;i++)
{
kq*=i;
if(kq>=100000)
{
kq/=100000;
q+=5;
}
}
}
void main()
{

return kq;

http://vndownloads.net

126 / 127

Bi Tp Thc Hnh Mn Lp Trnh C Bn 2


clrscr();
unsigned long giaithua;
int n,k,q,tohop;
printf("nhap n:");
scanf("%d",&n);
printf("nhap k:");
scanf("%d",&k);
giaithua=gt(n);
printf("giai thua cua %d la:%lu",n,giaithua);
printf("\ngiai thua cua %d la:%lu",k,gt(k));
tohop=gt(n)/(gt(k)*gt((n-k)));
printf("\nto hop chap %d cua %d la:%d",k,n,tohop);
getch();
}

Bai Them 3 :

http://vndownloads.net

127 / 127

You might also like