You are on page 1of 165

Bai tp Tin hoc ai cng 1

PH N I : DU LI U VA CHUONG TRINH

TINH TOAN CAC BIU THUC

1. Vit chng trnh nhp ban knh R va xut ra man hnh th
tch V va din tch S cua hnh cu
(V = 4R
3
/ 3 va S=4R
2
)

* Thut toan:

+ Co th khai bao cac bin : V,S,R
+ Nhp R t ban phm (d liu nhp vao t ban phm)
+ Gan: V theo cng thc:V = 4R
3
/ 3
S=4R
2
+ Vit ket qua V, s ra man hnh (kt qua xut ra)

* Chng trnh

#include <conio.h>
#include <stdio.h>
#include <math.h>
main()
{
clrscr();
float v,s,r;
printf(" Nhap ban kinh hinh cau R(voi R>0)=");
scanf("%f",&r);
s=4*M_PI*r*r;
v=4*M_PI*r*r*r/3;
printf("Dien tich hinh cau= %0.2f",s);
printf("\nThe tich hinh cau= %0.2f",v);
getch();
}

* Kt qua chay demo
+ Vao R=2
+ Dien tich hinh cau la:50.27
+ The tich hinh cau la:33.51
* Nhn xet
y la bai toan rt n gian, tnh toan n thun mt biu
thc.
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 2

2. Vit chng trnh nhp 2 s thc x,y va tnh gia tr ham




) cos(
) ( ) ( log
2 2
5
y x e
y x arctg y x
x
+ +
+ +
F(x,y) =
* Thut toan:
+ Khai bao cac bin : x,y,Tu,Mau,F kiu thc
+ oc gia tr x,y t ban phm
+ Gan :
tu=log(fabs(x*x-y*y))/log(5)+atan(x+y);
mau=exp(x)+cos(x+y);
F= tu/mau;
+ Vit kt qua F ra man hnh

* Chng trnh

#include <conio.h>
#include <stdio.h>
#include <math.h>
main()
{
clrscr();
float x,y,tu,mau,f;
printf("Nhap x=");
scanf("%f",&x);
printf("\nNhap y=");
scanf("%f",&y);
tu=log(fabs(x*x-y*y))/log(5)+atan(x+y);
mau=exp(x)+cos(x+y);
f=tu/mau;
printf("Ket qua cua ham F(x,y) la= %0.2f",f);
getch();
}

3. Vit chng trnh nhp 2 s thc x,y va tnh gia tr cua ham f(x,y) nh sau:

F(x,y) =


) ( 1
) ( log 5
5
y x arctg
y x
x
+ +
+
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 3
* Thut toan:
+ Khai bao cac bin: x,y,Tu,Mau,F:kiu thc
+ oc gia tr cua x,y t ban phm (d liu vao t ban phm)
+ Gan cac biu thc:
tu=pow(5,x)+log((fabs(x-y)))/log(5);
mau=1+atan(x+y);
F:= tu/mau;
+ Vit kt qua F ra man hnh (kt qua)

* Chng trnh

#include <math.h>
#include <stdio.h>
#include <conio.h>
main()
{
clrscr();
float tu,mau;
float x,y;
printf("nhap x=");
scanf("%f",&x);
printf("nhap y=");
scanf("%f",&y);
tu=pow(5,x)+log((fabs(x-y)))/log(5);
mau=1+atan(x+y);
printf(" ket qua cua=%0.3f", tu/mau);
getch();
}
4. Tnh chu ky dao ng cua con lc n

g
l
T 2 =
Vi g la gia tc trong trng 9,18m/s
2
.

* Thut toan:
+ Co th khai bao hng s g
+ Khai bao cac bin : T,L
+ Nhp chiu dai L t ban phm
+ Gan T= 2*pi*sqrt(l/g)
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 4
+ Vit kt qua T ra man hnh.

* Chng trnh

#include <math.h>
#include <stdio.h>
#include <conio.h>
#define g 9.18
main()
{
clrscr();
float l,t;
printf(" Nhap chieu dai con lac=");
scanf("%f",&l);
t=2*M_PI*sqrt(l/g);
if (l<0) printf(" khong tinh duoc");
else printf("chu ky con lac la=%0.3f",t);
getch();
}


5. Nhp ba canh cua tam giac tnh S = (p(p-a)(p-b)(p-c))
1/2

vi P= (a+b+c)/2
* Thut toan:
+ Khai bao cac bin : a,b,c,p,s:Kiu thc
+ oc cac gia cua a, b, c t ban phm
+ Gan : P=(a+b+c)/2; (Na chu vi)
S= Sqrt(P*(p-a)*(p-b)*(p-c));
+ Vit S ra man hnh. (kt qua cn tnh)

* Chng trnh

#include <math.h>
#include <stdio.h>
#include <conio.h>
main()
{
clrscr();
float a,b,c,p,s;
printf(" nhap a=");
scanf("%f",&a);
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 5
printf(" nhap b=");
scanf("%f",&b);
printf(" nhap c=");
scanf("%f",&c);
p=(a+b+c)/2;
s=sqrt(p*(p-a)*(p-b)*(p-c));
printf(" Dien tich tam giac la=%0.2f",s);
getch();
}
6. Tnh biu thc :
2
2
7
15 9
x
+

x

* Thut toan:

+ Khai bao cac bin : x,s:kiu thc;
Gan : s=(9*x*x+15)/(7*sqrt(x*x));
ra man hnh.
+ oc gia tr bin x t ban phm
+
+ Vit kt qua S :

* Chng trnh

#include <math.h>
#include
clud
<stdio.h>
e <conio.h>
5)/(7*sqrt(x*x));
ket qua la=%f",s);
tch();
2
#in
main()
{
clrscr();
float x,s;
printf(" nhap x=");
scanf("%f",&x);
s=(9*x*x+1
ntf(" pri
ge
}

7. Tnh biu thc Cos (x )
* Thut toan:
x,s + Co th khai bao cac bin : kiu thc
oc gia tr cua x t ban phm
an hnh
+
+ Vit kt qua ra m

* Chng trnh
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 6

#include <math.h>
#include <stdio.h>
clude <conio.h>

os(x);
ntf(" ket qua la=%0.3f",s);
tch();
8
*
#in
main()
{
clrscr();
float x,s;
printf("nhap x=");
scanf("%f",&x);
s=cos(x)*c
pri
ge
}

.x
2
- sin(x)
Thut toan:
+ Khai bao cac bin x,s
Gan s:= x*x-sin(x);
a man hnh

+ oc gia tr x t ban phm
+
+ Vit kt qua s r
* Chng trnh

#include <math.h>
#include <stdio.h>
clude <conio.h>
");
x);
ntf(" ket qua la=%0.3f",s);
tch();
#in
main()
{
clrscr();
float x,s;
printf("nhap x=
scanf("%f",&x);
s=x*x-sin(
pri
ge
}

9. 1 + ln(x
2
)
* Thut toan:
+ Co th khai bao cac bin x,s
ban phm
x);
Vit s ra man hnh
+ oc gia tr cua x t
+ gan s:= 1 -log(x*
+
* Chng trnh
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 7

#include <math.h>
#include <stdio.h>
clude <conio.h>
=");
x);
ntf(" ket qua la=%0.3f",s);
tch();

) =
#in
main()
{
clrscr();
float x,s;
printf(" nhap x
scanf("%f",&x);
s=1+log(x*
pri
ge
}
10. Tnh ch(x)
e e
x x
+

Hng dn : ch(x
2
* Thut toan:
+ Co th khai bao cac bin x, chx
+ oc gia tr cua x t ban phm
gan chx= (exp(x) + 1/exp(x))/2;
hnh
+
+ Vit chx ra man

*Chng trnh
#include <math.h>
#include <stdio.h>
clude <conio.h>
)+1/exp(x))/2;
ntf("ket qua la=%0.2f",chx);
tch();
#in
main()
{
clrscr();
float chx,x;
printf(" nhap x=");
scanf("%f",&x);
chx=(exp(x
pri
ge
}





11. Tnh Sh(x)
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 8
Hng dn : sh(x) =
e e
x x


2

* Thut toan:
+ Co th khai bao cac bin x,shx
oc gia tr cua x t ban phm.
- 1/exp(x))/2;
+
+ gan shx= (exp(x)
+ Vit kt qua shx
* Chng trnh

#include <math.h>
tdio.h>
o.h>
hap x=");
nf("%f",&x);
x=(exp(x)-1/exp(x))/2;
printf("ket qua la=%0.2f",shx);
etch();





#include <s
#include <coni
main()
{
clrscr();
float shx,x;
printf(" n
sca
sh
g
}









Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 9
PH N II : L NH DI U KI N
IF
LNH SWITCH . . . CASE
TOAN TU ?
p chng trnh nhp cac h s a, b, c, d, e, f, vao may t
n phm ri giai va bin lun h phng trnh sau:
1. L
ba
{
ax + by = c

dx + ey = f






* Thut toan:
+ co th khai bao cac bi
+ oc a
n : a,b,c,d,e,f, dinhthuc,dx,dy:real;
cac gia tr cu a,b,c,d,e,f t ban phm.
Gan : dinhthuc=a*e -d*b;
+ ng trnh co nghim

0 hoc dy <> 0th H phng trnh v nghim
+
dx=c*e -f*b;
dy=a*f-d*c;

Nu dinhthuc <> 0 th h ph
Nghiem x = (dx/dinhthuc);
Nghiem y = (dy/dinhthuc)

Ngc lai Nu dx <>
ngc lai h phng trnh v nh

* Chng trnh

<math.h> #include
nclude #i <stdio.h>
onio.h>
hthuc,dx,dy;
#include <c
main()
{
clrscr();
float a,b,c,d,e,f,din
"); printf(" nhap a=
scanf("%f",&a);
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 10
printf(" nhap b=");
);
);
);
f=");
);
*e-f*b;
e if (dx!=0) printf(" he phuong trinh vo nghiem");
se printf(" He phuong trinh vo dinh");
tch();
h giai phng trnh bc hai : ax
2
+ bx + c = 0
scanf("%f",&b);
printf(" nhap c="
scanf("%f",&c);
printf(" nhap d="
scanf("%f",&d);
printf(" nhap e="
scanf("%f",&e);
printf(" nhap
scanf("%f",&f
dinhthuc=a*e-d*b;
dx=c
dy=a*f-d*c;
if (dinhthuc!=0)
{
printf("nghiem x=%0.2f",dx/dinhthuc);
printf("nghiem y=%0.2f",dy/dinhthuc);
}
els
el
ge
}


2.Lp chng trn
vi a, b, c khac khng.

* Thut toan:
+ Khai bao cac bin a,b,c,delta, x1,x2.
+ oc gia tr cac bin a,b,c t ban phm.
+ Lp Delta=b
2
-4*a*c.
+ Nu delta=0 th phng trnh co nghim kep.
Nu delta >0 th phng trnh co 2 nghim thc
Nu delta <0 th phng trnh v nghim.
an hnh.
+
+
+ Vit kt qua ra m


* Chng trnh
#include <stdio.h>
h.h>
io.h>
ta;
#include <mat
#include <con

void main()
{ clrscr();
float a, b, c, del
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 11
printf("\nGiai phuong trinh bac hai AX + BX + C = 0");
ba he so A : ");
he so B : ");
biet ba he so C : ");
c;
tf("Phuong trinh vo nghiem");
e if (delta == 0)
f("Phuong trinh co hai nghiem phan biet\nx1 = %0.2f", (-b
))/(2*a));
intf("\nx2 = %0.2f", (-b - sqrt(delta))/(2*a));
Lp chng trnh giai bt phng trnh bc hai :
printf("\nCho biet
scanf("%f", &a);
printf("\nCho biet
scanf("%f", &b);
printf("\nCho
scanf("%f", &c);
delta = b * b - 4 * a *
if (delta<0)
prin
els
printf("Phuong trinh co nghiem kep x1 = x2 = %0.2f", -b/(2*a));
else
{
print
+ sqrt(delta
pr
}
getch();
}
3.
ax
2
+ bx + c > 0 vi a, b, c bt ky.
* Thut toan:

+ Khai bao cac bin a,b,c,x1,x2,delta,x;
+
+ 0 th nhp lai cac bin


c lai
ng trnh x>-c/b
+
trinh dung moi x;
im
x1=(-b-sqrt(delta))/(2*a)
delta))/(2*a)
Ng

+ Nu
Nu delta <=0 th bt phng trnh v nghim
Nu delta >0 Th
ng trnh x1<x<x2
oc gia tr cac bin t ban phm
Nu a=0 va b=0 va c=
Ngc lai nu a=0
Nu b=0 thkhong phai bat phuong trinh
Ng
Nu b>0 th nghim bt ph
Nu b<0 th nghiem bat phuong trinh x<-c/b
Nu a>0 th
lp delta:=sqr(b)-4*a*c;
Nu delta <=0 th bat phuong
Nu delta >0 th bt phng trnh co ngh
x2:=(-b+sqrt(
him bt phng trnh x<x1 hoc x>x2
a<0 Th
Nghim bt ph

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 12

* Chng trnh

#include <stdio.h>
h.h>
clude <conio.h>
2,x, delta;
hai AX + BX + C > 0");
ba he so A : ");
he so B : ");

==0)&&(b==0)&& (c==0))
moi ban nhap lai cac he so a,b,c nhe");
f (b==0)
(b>0) printf(" nghiem cua bat phuong trinh>%0.2f",-c/b);
printf(" nghiem cua bat phuong trinh<%0.2f",-c/b);
= b * b - 4 * a * c;
g trinh dung voi moi x");
sqrt(delta))/(2*a);
"nghiem cua bat phuong trinh x<%0.2f",x1);
ac x>%0.2f",x2);
- 4 * a * c;
#include <mat
#in

void main()
{
clrscr();
float a, b, c,x1,x
printf("\nGiai bat phuong trinh bac
printf("\nCho biet
scanf("%f", &a);
printf("\nCho biet
scanf("%f", &b);
printf("\nCho biet ba he so C : ");
scanf("%f", &c);
if ((a
printf("Xin
else if (a==0)
{
i
printf("khong phai la bat phuong trinh -hay nhap lai");
else
{
if
if (b<0)
}
}
if (a>0)
{
delta
if (delta<=0) printf(" Bat phuon
if (delta>0)
{
x1=(-b-sqrt(delta))/(2*a);
x2=(-b+
printf(
printf(" ho
}
}
if (a<0)
{
delta = b * b
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 13
if (delta<=0)
printf("Bat phuong trinh vo nghiem ");
=(-b-sqrt(delta))/(2*a);
2=(-b+sqrt(delta))/(2*a);
nghiem cua bat phuong trinh x>%0.2f",x2);
printf(" va x<%0.2f",x1);
}
getch();
if (delta>0)
{
x1
x
printf("


}

}

4. Tnh a
n

* Thut toan:

+ Khai bao cac bin a,n.
+ oc cac gia tr cua a,n t ban phm.
g tnh
gc lai th tnh theo biu thc: Exp(n*ln(a))
n hnh.
+ Nu a<0 th khn
n
+ Vit kt qua ra ma

* Chng trnh

#include <stdio.h>
clude <math.h>
io.h>
hap n=");
nf("%f",&n);
f mu %lf la %lf\n",a,n,exp(n*log(a)));
#in
#include <con

void main()
{
clrscr();
float a,n;
printf(" nhap a=");
scanf("%f",&a);
printf(" n
sca
if (a<0) printf(" khong tinh duoc");
else printf("%l
getch();
}
5. Nhp 4 s a, b, c, d. Tm gia tr ln nht (maximum).
* Thut toan:
+ Khai bao cac bin : a,b,c,d,max
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 14
+ Dung thut toan lnh canh: gan max= phn t bt ky ri ly
o sanh vi max.
an hnh.
cac phn t khac em s
+ Vit kt qua max ra m

* Chng trnh
io.h>
th.h>
max=b;
(c>max) max=c;
Chng minh co phai la dai cua 3
giac cn, u, vung,


*
#include <std
#include <ma
#include <conio.h>

void main()
{
clrscr();
float a,b,c,d,max;
printf(" nhap a=");
scanf("%f",&a);
printf(" nhap b=");
scanf("%f",&b);
printf(" nhap c=");
scanf("%f",&c);
printf(" nhap d=");
scanf("%f",&d);
/*dung thuat toan linh canh*/
max=a;
if (b>max)
if
if (d>max) max=d;
printf(" Gia tri lon nhat la=%f",max);
getch();
}

6. Nhp 3 gia tr a, b, c.
canh cua mt tam giac khng ? Tm tam
vung cn, tam giac thng.
Thut toan:
+
+ cac bin t ban phm.
+
(a> 0)
iac u
Khai bao cac bin a,b,c
oc gia tr
Nu (a+b>c) va ( a+c> b)
va (b+c>a) va
va (c > 0) va (a > 0) th
Nu (a=b) and (b=c) and (c=a) tam g
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 15
Ngc lai
Nu (a=b) hoc (b=c) hoc (a=c) th tam giac cn
Ngc lai
Nu ((a*a+b*b=sqr(c)) va (a=b)) hoc
hoc
((c*c+b*b=a*a)va (c=b)) th tam giac vung cn
Nu(sqr(a)=b*b+c*c) hoc (b*b=a*a+c*c) hoc(c*c=a*a+b*b) th
iac thng
hng hp l
rnh
((sqr(a)+sqr(c)=b*b)va (a=c))
Ngc lai
Tam giac vung
Ngc lai tam g
Ngc lai nhp k

* Chng t
io.h>
h>
f("%f",&a);
);
f(" Tam giac deu");
e if ((a==b)||(b==c)||(a==c)) printf(" Tam giac can");
a+c*c==b*b) &&(a==c))
=a*a)&&(c==b))) printf("Tam giac vuong can");
e if ((a*a==b*b+c*c)||(b*b==a*a+c*c)||(c*c==a*a+b*b))
printf("Tam giac vuong");
tf("Tam giac thuong");
tam giac khong hop le");



#include <std
#include <math.
#include <conio.h>

void main()
{
clrscr();
float a,b,c;
printf(" nhap a=");
scan
printf(" nhap b=");
scanf("%f",&b);
printf(" nhap c=");
scanf("%f",&c);
if ((a+b>c) && (a+c>b) && (b+c>a) &&(a>0)&&(b>0)&& (c>0))
{
printf("a,b,c la canh cua "
if ((a==b)&&(b==c)&&(c==a)) print
els
else if (((a*a+b*b==c*c)&&(a==b))||((a*
||((c*c+b*b=
els

else prin
}
else printf("
getch();
}


Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 16
7. L o ba im A, B, va O. Tnh goc
hnh ho
Hng dn:
+Nhp toa
b
,y
b
), C(x
c
,y
c
), O(x
o
,y
0
)
Tnh

Cos = ((xa - x0)*(xb-x0) + (ya - y0)*(yb - y0))/(OA*OB)
a gocAOB
+ T

p chng trnh oc vao ta
c AOB.
im A(x
a
, y
a
), B(x
+


2 2
) ( ) ( y y x x OA + =
0 0 a a
2 2
0 0
) ( ) ( y y x x OB
b b
+ =
+ T cos cua goc AOB tnh sin cua goc AOB va tg cu
tg cua goc AOB ta dung ham ngc ARCTAN tnh goc AOB.
* Thut toan:
+ c bin : Xa,Ya, Xo, Yo, Xb,Yb,goc,OA,OB,cos,tg
+ : Xa,Ya, Xo, Yo, Xb,Yb.
+ G ((xa-xo)*(xa-xo)+(ya-yo)*(ya-xo));
ob=sqrt((xb-xo)*(xb-xo)+(yb-yo)*(yb-xo));
thuc cua tich vo huong suy ra cosin goc AOB}
-Yo)*(Yb-Yo))/(OA*OB);
+ Nu
goc=pi
Ngc lai
goc=pi/2
cos))/cos;
{ don vi Radian}
<0 Th goc=pi/2 -goc;
it kt qua goc.
Khai bao ca
oc gia tr cua cac bin
an oa=sqrt
{ Theo cong
cos=((Xa-Xo)*(Xb-Xo) + (Ya
cos =1 th goc=0
Ngc lai
Nu cos=-1 th
Nu cos=0 th
Ngc lai
tg=sqrt(1-sqr(
goc=arctan(tg);
Nu goc
+ V

* Chng trnh
#include <stdio.h>
#include <math.h>
#include <conio.h>
void main()
{
clrscr();
float xa,ya,xo,yo,xb,yb,goc,cos,oa,ob,tg;
h goc con lai cua tam giac\n"); printf("Chuong trinh tin
printf("Vao lan luot cac diem\n ");
printf(" Toa do cua diem A: Xa,Ya=");
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 17
scanf("%f%f",&xa,&ya);
printf(" Toa do cua diem B: Xb,Yb=");
scanf("%f%f",&xb,&yb);
o,Yo=");
t((xa-xo)*(xa-xo)+(ya-yo)*(ya-xo));
o)*(yb-xo));
uong suy ra cosin cua goc AOB
*(yb-yo))/(oa*ob);
os==1) goc=0;
-1) goc=M_PI;

rt(1-cos*cos)/cos;
c=atan(tg);// don vi Radian
if (goc<0) goc=M_PI/2-goc;
Goc AOB=%f\n",goc);
80/M_PI);
nh giai tam giac khi bit ba canh.
ng dn: Mun giai tam giac khi bit ba canh ta dung h thc

*
printf(" Toa do cua diem O: X
scanf("%f%f",&xo,&yo);
oa=sqr
ob=sqrt((xb-xo)*(xb-xo)+(yb-y
//Tinh theo cong thuc tich vo h
cos=((xa-xo)*(xb-xo)+(ya-yo)
if (c
else if (cos==
else if (goc==0) goc=M_PI/2;
else
{ tg=sq
go
}
printf("\n");
printf("
printf(" Tinh theo do=%f\n",goc*1
getch();
}

8. Lp chng tr
H
cosin:
2 2 2
a =b + c - 2bc.cosA
2 2 2
b =a + c - 2ac.cosB

2 2 2
C c =a + b - 2ab.cos
oc. tnh cac g
Thut toan:

+ ,tg,goc,gA,gB,gC
+ n t ban phm a,b,c
+
0 th goc:=pi/2
sqr(cos))/cos;
0 th goc:=pi/2 -goc;
, cosC}
Khai bao cac bin a,b,c,cos
oc gia tr cac bi
gan cos:=(b*b +c*c -a*a)/(2*b*c);
Nu cos =
Ngc lai
Nu cos =-1 th goc:=pi
Ngc lai
tg:=sqrt(1-
goc:=arctan(tg);
Nu goc <
gA:=goc;
{Tng t cho cosB
cos:=(a*a +c*c -b*b)/(2*a*c);
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 18
Nu cos =0 th goc:=pi/2
sqr(cos))/cos;
th goc:=pi/2 -goc;
Nu cos =0 th goc:=pi/2
c lai
cos))/cos;
goc:=arctan(tg);
oc:=pi/2 -goc;
A,B,C ra man hnh.

nh
Ngc lai
Nu cos =-1 th goc:=pi
Ngc lai
tg:=sqrt(1-
goc:=arctan(tg);
Nu goc < 0

gB:=goc;
cos:=(a*a +b*b -c*c)/(2*a*b);
Ngc lai
Nu cos =-1 th goc:=pi
Ng
tg:=sqrt(1-sqr(
Nu goc < 0 th g

gC:=goc;
Vit goc
* Chng tr

#include <stdio.h>
#include <math.h>
#include <conio.h>
void main()
{
clrscr();
float a,b,c,tg,goc,goca,gocb,gocc,cos;
printf(" nhap a=");
scanf("%f",&a);
printf(" nhap b=");
scanf("%f",&b);
f(" nhap c=");
thuc a^2=b^2+c^2-2bcCosA
os==0) goc=M_PI/2;
==-1) goc=M_PI;

goc<0) goc=M_PI/2-goc;
print
scanf("%f",&c);
//tinh cos tu he
cos=(b*b+c*c-a*a)/(2*b*c);
if (c
else if (cos
else
{
tg=sqrt(1-cos*cos)/cos;
goc=atan(tg);
if (
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 19
}
goca=goc;
//tuong tu cho CosB
os==0) goc=M_PI/2;
==-1) goc=M_PI;

goc<0) goc=M_PI/2-goc;
osC
os==0) goc=M_PI/2;
==-1) goc=M_PI;
ntf(" Tam giac ABC co:\n");
printf(" GocA=%f\n",goca);
cc);
R de ket thuc");
getch();
ban phm mt s nguyn n (1 n
) ri a ra ting Anh cua s o. Chng han, nu go vao n = 4
our.
Thut toan:
cos=(a*a+c*c-b*b)/(2*a*c);
if (c
else if (cos
else
{
tg=sqrt(1-cos*cos)/cos;
goc=atan(tg);
if (
}
gocb=goc;
//tuong tu cho C
cos=(a*a+b*b-c*c)/(2*a*b);
if (c
else if (cos
else
{
tg=sqrt(1-cos*cos)/cos;
goc=atan(tg);
if (goc<0) goc=M_PI/2-goc;
}
gocc=goc;
pri

printf(" theo do=%f\n",180*goca/M_PI);
printf(" GocB=%f\n",gocb);
printf(" GocC=%f\n",go
printf("An ENTE

}

9.Lp chng trnh oc t
10
th a ra : 4 F
*
n so t ban phm.
witch case
trnh

+ Khai bao bin so
+ oc gia tr cua bi
+ Dung s

* Chng

#include <math.h>
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 20
#include <stdio.h>
h>
se 4:printf("Four"); break;
rintf("Five"); break;
ase 6:printf("Six"); break;
ntf("Seven"); break;
rintf("Ten"); break;
n, bit rng gia trong nh mc la 1000/1kwh,
a ngoai nh mc la 2000/1kwh.Bit rng quy nh nh mc



*
#include <conio.
main()
{
clrscr();
int so;
printf(" nhap so=");
scanf("%i",&so);
switch (so) {
case 1: printf("One"); break;
case 2: printf("Two"); break;
case 3:printf("Three"); break;
ca
case 5:p
c
case 7:pri
case 8:printf("Eigth"); break;
case 9:printf("Nine"); break;
case 10:p
}
getch();
}

10. Tnh tin i
gi
nh sau:
+ H dn 60KWh/1thang
+ H can b 90KWh/thang
+ H kinh doanh 200KWh/thang
+ H san xut 450KWh/1thang
Thut toan:

DMHCB
DMHKD =200; { Dinh muc ho kinh doanh}
DMHSX =450; { Dinh muc ho san xuat}
h muc}
+
Socu,Somoi { Chi so cua dong ho dien}
tt,kwhdm,kwhvuot{ luong dien}
ndm,tienvuot,ttien{ Tien}

+ hm :Socu,Somoi,loai ho
+ Khai bao cac hng:
DMHD =60; { Dinh muc ho dan}
=90; { Dinh muc ho can bo}
DGDM=1000; { Don gia dinh muc}
GNDM=2000; { Gia ngoai din
Khai bao cac bin
Kwh
Tie
Ho { Loai ho}
Nhp gia tr cac bin t ban p
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 21
+ t < Kwhdm ) th
c lai
Tiendm=Kwhdm*DGDM;
Kwhdm)*GNDM;
+Tienvuot;
Nu (Kwht
TienDm:=Kwhtt*DGDM;
TienVuot:=0;
Ng
Bt u

Tienvuot=(Kwhtt-
Kt thuc
Gan: Ttien=Tiendm
+ In Ttien ra man hnh

* Chng trnh

#include <math.h>
#include <stdio.h>
#include <conio.h>
fine DMHD 60 //Dinh muc ho dan
HCB 90 //Dinh muc ho can bo

inh muc
Gia ngoai dinh muc
dong ho dien
vuot; //luong dien
,tienvuot;
nh tinh tien dien\n ");
chi so cu=");
);
"%c",&ho);
h (ho) {
break;
m=DMHCB; break;
'k': kwhdm=DMHKD; break;
': kwhdm=DMHSX; break;
#de
#define DM
#define DMHKD 200 //Dinh muc ho can bo
#define DMHSX 450 //Dinh muc ho san xuat
#define DGDM 1000 //Don gia d
#define GNDM 2000 //
main()
{
clrscr();
float socu,somoi; //chi so cua
float kwhtt,kwhdm,kwh
float tiendm,ttien
char ho; //loai ho
printf("chuong tri
printf("Nhap
scanf("%f",&socu
printf("Nhap chi so moi=");
scanf("%f",&somoi);
kwhtt=somoi-socu;
printf(" Loai ho ");
scanf(
ho=getch();
switc
case 'd': kwhdm=DMHD;
case 'c': kwhd
case
case 's
}
if (kwhtt<kwhdm)
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 22
tiendm=kwhtt*DGDM;
tienvuot=0;
}
else {
tiendm=kwhdm*DGDM;
+tienvuot;
phai tra la=%0.1f",ttien);
hn mua go t ban phm (1-4),
a xun, 2. mua ha, 3. mua thu, 4. mua ng
tienvuot=(kwhtt-kwhdm)*GNDM;
}
ttien=tiendm
printf(" Tien dien
getch();
}

. Chng trnh n 11
phn loai 1. la mu
* Thut toan:
+ Khai bao bin : Mua
ia tr cua bin Diem t ban phm
ung switch case
rnh
+ oc g
+ D
* Chng t
>
tf(" Moi ban nhap so (1-4)");
,&mua);
itch (mua) {
ase 1 :printf("XUAN") ; break;
ca
ca
nh din tch cua cac hnh (hnh vung,
ron, tam giac, hnh thang), chon hnh
t ban phm . Trnh bay din tch ra man hnh.
khai bao cac bin: dai,rong,cao,day,canh,Radius,daylon,daybe

#include <math.h>
#include <stdio.h>
#include <conio.h
main()
{
clrscr();
int mua;
prin
scanf("%d"
sw
c
case 2 :printf("HA") ; break;
se 3 :printf("THU") ; break;
se 4 : printf("DONG");break;
}
getch();
}

12. Vit chng trnh t
hnh ch nht , hnh t
* Thut toan:
+
S,chon.
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 23
+ oc gia tr cac bin t ban phm: dai, rong, cao, day, canh
daylon,daybe
ung switch ... case
nh
Radius,
+ D

* Chng tr
on,daybe,s;
----");
inh");
----");
BAN CHON TRONG CAC MUC SAU");

rin ");
rin am giac\n");
rin n");
rin h tron\n");
rin hinh hinh thang\n");
can ,&chon);
("nhap chieu dai") ;
rong") ;
intf(" ket qua la=%f",s);
"nhap canh day") ;
ao") ;
o );
day*cao)/2;
et qua la=%f",s);
;

#include <math.h>
#include <stdio.h>
#include <conio.h>
main()
{
clrscr();
char chon;
float dai,rong,cao,day,canh,radius,dayl
printf(" ---------------------------------
printf("Chuong trinh tinh dien tich cac h
printf(" ---------------------------------
printf("\n");
printf(" MOI CAC
printf("\n");
p tf("n.Dien tich hinh chu nhat\n
p tf("g.Dien tich hinh t
p tf("v.Dien tich hinh hinh vuong\
p tf("t.Dien tich hinh hin
p tf("h.Dien tich
s f("%c"
switch (chon) {
case 'n' :{
printf
scanf("%f",&dai);
printf("nhap chieu
scanf("%f",&rong );
s=dai*rong;
}
pr
break;
case 'g' :{
printf(
scanf("%f",&day);
printf("nhap chieu c
scanf("%f",&ca
s=(
}
printf(" k
break
case 'v' :{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 24
printf("nhap canh hinh vuong") ;
anh*canh;
(" ket qua la=%f",s);
;
) ;
p s);
ase {
%f",&daylon);
%f",&daybe );
printf("nhap chieu cao") ;
scanf("%f",&cao );

printf(" ket qua la=%f",s);
}

* Thut toan:
scanf("%f",&canh);
s=c
}
printf
break
case 't' :{
printf("nhap ban kinh"
scanf("%f",&radius);
s=radius*radius*M_PI;
}
rintf(" ket qua la=%f",
break;
c 'h' :
printf("nhap day lon") ;
scanf("
printf("nhap day be") ;
scanf("


s=((daylon+daybe)*cao)/2;
}

break;

getch();
}

13. Giai phng trnh trung phng ax
4
+ bx
2
+c =0, vi a,b,c
nhp t ban phm.


+ x3,x4,y1,y2,delta,i
+
+ b)-4*a*c;
ta>0 th i=1 Ngc lai nu Delta<0 th i=2 ngc lai
p i la
+ sqrt(delta))/(2*a);
delta))/(2*a);
trnh co 2 nghim phn bit
Khai bao cac bin a,b,c,x1,x2,
Nhp gia tr cua a,b,c t ban phm.
lp Delta=sqr(
Nu del
i=3;
Trng h
1:
y1=(-b
y2=(-b - sqrt(
Phng
Nu y1>0 th
Begin
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 25
x1=sqrt(y1);
x2=-x1;

ng trnh trung phong v nghim
n
y1=-b/(2*a);
nh co nghim kep y1=y2
Begin
rnh
Vit x1,X2
End;
Nu y2>0 th
Begin
x3=sqrt(y2);
x4=-x3;
Vit X3,x4;

2: Vit ph
3:Begi
Vit phng tr
Nu y1>0 th
x1=sqrt(y1);
x2=-x1;
Vit x1,x2
End;

* Chng t
lude <math.h>

,x3,x4,y1,y2,delta;
he so a=");
&a);
f ( else if (delta <0) i=2; else i=3;
1=(
2=(


#inc
#include <stdio.h>
#include <conio.h>
main()
{
clrscr();
float a,b,c,x1,x2
int i;
{
printf(" Nhap
scanf("%f",
printf(" Nhap he so b=");
scanf("%f",&b);
printf(" Nhap he so c=");
scanf("%f",&c);
delta=b*b-4*a*c;
i delta>0) i=1;
switch (i) {
case 1 :{
y -b+sqrt(delta))/(2*a);
y -b-sqrt(delta))/(2*a);
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 26
p tf(" p rin huong trinh co 2 nghiem phan biet\n");
em y1=%0.2f\n",y1);
rin .2f",y2);
intf("Nghiem x1 =%0.2f\n",x1);
ntf("Nghiem x2 =%0.2f",x2);
0) {
y2);
"Nghiem x3 =%0.2f\n",x3);
x4 =%0.2f",x4);
ase : o nghiem");break;
-b/(2*a);
printf("phuong trinh co nghiem kep y1=y2=%f",y1);
if (y1>0) {
x1=sqrt(y1);
x2=-x1;
printf(" nghiem x1=%0.2f\n",x1);
printf(" nghiem x2=%0.2f",x2);
} break;
}
}
}
getch();
}









printf(" nghi
p tf(" nghiem y2=%0
if (y1>0) {
x1=sqrt(y1);
x2=-x1;
pr
pri
}
if (y2>
x3=sqrt(
x4=-x3;
printf(
printf("Nghiem
}
} break;
c 2 printf(" Phuong trinh trung phuong v
case 3: {
y1=






















Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 27

PH N III : L NH VO NG L P
FOR ...
DO ... WHILE
ng trnh tao ra bang cu chng nh hoc sinh vn dung:
*
WHILE ...


1. Lp ch
Thut toan:
+ Khai bao 2 bin i,j.
m
toa j=10*(i-2) + 1,i= j+2);
textcolor(i);
Vit(I,j,j*i);
rnh
+ Cho j=1 n 10 lam
Begin
Cho I=2 n 9 la
Begin
Di chuyn ti

End;
Vit xung dong
End;

* Chng t
clude<stdio.h>
th.h>
io.h>
i,j;
"BANG CUU CHUONG\n");
+ 1, j+2);
xtcolor(i);
("%dx%2d = %2d", i, j, i*j);
}
printf("\n");
#in
#include<ma
#include<con
main()
{
int
clrscr();
printf(
for(j=1;j<=10;j++)
{
for(i=2;i<=9;i++)
{
gotoxy(10*(i-2)
te
cprintf


}
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 28
getch();
}

2. Bai toan c
Trm tru trm co
Tru ng n nm
Tru gia ba con mt bo
co bao nhiu mi loai ?
Tru nm n ba

Hoi
* Thut toan:
+ Khai bao 3 bin :ng, nm ,gia.
+ Cho ng = 0 n 20 lam
Cho nm = 0 n 33 lam

(dung+nam+gia =100) th
t ca

* Ch
Cho ga = 0 n 300 lam
u ma (15*dung + 9*nam + gia = 300) va N
Vi c loai tru ra man hnh.
ng trnh

clude <stdio.h>
onio.h>
+)
;gia<=300;gia++)
((15*dung+9*nam+gia==300)&&(dung+nam+gia==100))
printf("\nTrau dung : %5d ; Trau nam : %5d ; Trau gia :
nam, gia);
lai cho tron
rm chn chn
Ba mi sau cai u
ao nhiu ga , cho ?
*
#in
#include <c
#include <math.h>
main()
{
clrscr();
int dung,nam,gia;
for (dung=0;dung<=20;dung++)
for (nam=0;nam<=33;nam+
for (gia=0
if
%5d",dung,
getch();
}

3. Bai toan c
Va ga va cho
Bo
Mt t

Hoi co b
Thut toan:
+ khai bao 2 bin : x,y
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 29
+ Cho x=0 n 36 lam
Cho y=0 n 36 lam
Nu y =36) th vit kt qua x,y ra man hnh.

* Ch
ma (2*x +4*y =100) va (x+
ng trnh

clude <stdio.h>
onio.h>
ath.h>
<=36;x++)
(y=0;y<=36;y++)
if((2*x+4*y==100)&&(x+y==36))
printf("\nGa : %5d ; Cho : %5d",x,y);
Tao bang s
an hnh cac
1 2 3 4 5 6 7 8 9
14 15 16 17 18 19
. . . . . . . .
94 95 96 97 98 99
*
#in
#include <c
#include <m
main()
{
clrscr();
int x,y;
for (x=0;x
for
getch();
}


4.
Ch dung mt vong FOR... + Lnh I F vit ln m
s t 0 n 99 theo quy cach sau:


0
10 11 12 13
.
90 91 92 93

Thut toan:

khai bao bin i
lam
Nu i mod 10 =0 Th vit i xung dong Ngc lai vit i khng
+
+ Cho i=0 n 99
xung dong.

* Chng trnh

#include <stdio.h>
clude <conio.h>
tdio.h>
#in
#include <s
void main()
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 30

{
clrscr();
for (int i=0; i<100; i++)
f (i%10==0) printf("\n%4d",i);
etchar();
V t c ng trn
$$

******* $$ ***************
$ *****************
b) c)
i giai:
i
else printf("\%4d",i);
g
}

5. i h h hin ra trn man hnh

* $$$$$$$$$ *
** $$$$$$$$ ***
*** $$$$$$$ *****
**** $$$$$$ *******
***** $$$ *********
****** $$$$ ***********
******* $$$ *************
*
*********
a)


Ba

Cu a)
* Thut toan:

+ khai bao 3 bin : i,j,h
1

Vit ky tu trng
i vit ky t *
Vit xung dong.
Chng trnh
+ oc gia tr h t ban phm.
+ cho i=1 n i=2*h-i+
Begin

cho j=1;n j=

End;

*
clude <stdio.h>
io.h>

#in
#include <con
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 31

void main()
{
clrscr();
int h, i, j;
eu cao cua hinh tam giac : ");
+1; i++)
printf(" ");
; j<=i; j++)
printf("*");
printf("\n");
oan:
printf("\nNhap chi
scanf("%d", &h);
for (i=1; i<=2*h-i
{

for (j=1


}
getch();
}

Cu b)
* Thut t
ban phm.
=0 n I=h
Begin
-i+1 vit$
Vit xung dong.
+ khai bao : i, j, h
+ oc gia tr cua h t
+ cho i

cho j=1 n j=h

End

* Chng trnh
clude <stdio.h>
io.h>
, i, j;
ac : ");
(i=0; i<=h; i++)
for (j=1; j<=h-i+1; j++)printf("$");
printf("\n");

#in
#include <con

void main()
{
clrscr();
int h
printf("\nNhap chieu cao cua hinh tam gi
scanf("%d", &h);
for
{


}
getch();
}
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 32

Cu c)
* Thut toan:

t ban phm
i;
t ky t trng
cho j=0 n j<i*2+1
*
Vit xung dong.
Chng trnh
+ Khai bao cac bin : i,j,h
+ oc gia tr cua bin h
+ cho i=0; n i<h
Begin
cho j=h-1 xung j>
Vi

Vit ky t

End

*
io.h>
h>
h, i, j;
cua hinh tam giac : ");
; j--)
printf(" ");
for (j=0; j<i*2+1; j++)
("*");
printf("\n");
}
getch();


#include <std
#include <conio.

void main()
{ clrscr();
int
printf("\nNhap chieu cao
scanf("%d", &h);
for (i=0; i<h; i++)
{
for (j=h-1; j>i


printf




}









Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 33
6. Tao cy ch s
Vit chng trnh hin ra tr nh

890123454321098
90123456765432109
23456789876543210
* n:
n man h
1
232
34543
4567654
567898765
67890109876
7890123210987
01

Thut toa

+ ,j
+ 10 lam
i-1 lam
j<=i th
Ngc lai vit ((3*i-1-j) mod 10);
g trnh
Khai bao 2 bin : i
Cho i= 1 n
Begin
Vit (' ':41- i);
Cho j := 1 n 2*
Nu
Vit ((j+i-1) mod 10)
Vit xung dong;
End;
* Chn
tdio.h>
conio.h>
i,j;
pyright by Nguyen van Nguyen -Khoa CNTT DHKThuat

(j=1; j<=2*i-1; j++)

#
#include <
include <s
main()
{
clrscr();
int
/*printf("\n Co
-Danang");*/
for(i=0; i<=10; i++)
{
printf("");
gotoxy(41-i,j);
for
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 34
if (j<=i) printf("%d",(j+i-1)%10);
else printf("%d",(3*i-1-j)%10);
getch();
nh tm cac s tng ng vi cac ch thoa
an:

X 8
k t khac nhau tng ng vi cac ch s khac
t qua T=8, E=8 th kt qua nay cung khng

c se la cac s sau:
7 x 8 = 2376
8 x 8 = 2384

*

printf("\n");
}

}

7. Vit chng tr
m

BIT

--------------------
BYTE
iu kin : Cac
nhau.
Th du : nu co k
c chp nhn.
Kt qua nhn
Bit Byte
196 x 8 = 1568
197 x 8 = 1576
198 x 8 = 1584
296 x 8 = 2368
29
29
396 x 8 = 3168
397 x 8 = 3176
398 x 8 = 3184

Thut toan:
+ K B, I ,T,Y,E
+
va (B <>T) va (B<>E)
) va (Y <>E) and (I<>T)
hai bao cac bin :
Cho B=1n 9 lam
Cho I=0 n 9 lam
Cho T=0 n 9 lam
Cho Y = 0 n 9 lam
Cho E=0 n 9 lam
u (((100*b +10*I +T)*8) =(1000*b+100*Y+10*T+E)) N
va (B<>I) va (B<>Y)
va (Y<>I) and (Y<>T
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 35
va (I<>E) va (T<>E) th
Vit (B,i,T,' x 8 = ',B,Y,T,E);
nh * Chng tr

pri \n");

0*b+10*i+t)*8)==(1000*b+100*y+10*t+e))
&&(y!=i)&&(y!=t)&&(y!=e)&&(i!=t)&&(i!=e)&&(i!=t)
d%d%d x 8=%d%d%d%d\n",b,i,t,b,y,t,e);
ng trnh:
8 x 8 =
u N le
..N nu N chn

#include <stdio.h>
#include <conio.h>
#include <math.h>
void main()
{
clrscr();
int b,i,t,y,e;
ntf("Copyright by Nguyen Van Nguyen -Khoa CNTT-DHKT
for (b=1; b<=9; b++)
for (i=0; i<=9; i++)
for (t=0; t<=9; t++)
for (y=0; y<=9; y++)
e<=9; e++) for (e=0;
(10 if (((
&&(b!=i)&&(b!=y)&&(b!=t)&&(b!=e)

&&(i!=e)&&(t!=e))
printf("%
getch();
}

Kt qua chay ch
Bit Byte
196 x 8 = 1568
197 x 8 = 1576
198 x 8 = 1584
296 x 8 = 2368
297 x 8 = 2376
2384 29
396 x 8 = 3168
97 x 8 = 3176 3
398 x 8 = 3184
8. Tnh n!! =1.3.5...N n
= 2.4.6.

* Thut toan:

+ Khai bao ham giaitha, start
+ Nhp gia tr N
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 36
+ Nu (n mod 2 = 0)
start = 2;
n; tng i ln 2 n v
i;
a ra man hnh
Chng trnh
ngc lai
start = 1;
Cho i=start n i=
gthua =giaithua*
Vit kt qua giai th +

*
start, i;
gthua = 1;

;
2;
lse
start = 1;
2)
!! = %ld", n, gthua);
F=P(1 +i/100)
n
chnh la s tin ca vn ln lai nhn c sau n thang. Ty s
P thng c tnh va in ra thanh bang nhn vin ngn hang
c ngi gi tra cu. Ty s nay c in ra thanh bang theo t

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

void main()
{
clrscr();
int n,
unsigned long
printf("\nNhap gia tri N : ");
scanf("%d", &n)
if (n%2 == 0)
start =
e

for (i=start; i<=n; i = i+
gthua *= i;
printf("\n%d
getch();
}

9. Tnh lai sut tit kim
Ban co mt khoan tin P gi vao quy tit kim, mi thang lai
I phn trm.
S tin sau n thang gi se la


F
F/
ho
l lai va theo s thang. Hay lp bang sau:





Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 37
n 5% 6% 7% 8% 9% 10%
1 1.05000 1.06000 1.07000 1.08000 1.09000 1.10000
2 1.10250 1.12360 1.14490 1.16640 1.18810 1.21000
3 1.15763 1.19102 1.22504 1.25971 1.29503 1.33100
4 1.21551 1.26248 1.31080 1.36049 1.41158 1.46410
5 1.27628 1.33823 1.40255 1.46933 1.53862 1.61051
1852 1.50073 1.58687 1.67710 1.77156
1.60578 1.71382 1.82804 1.94872
1.71819 1.85093 1.99256 2.14359
.68948 1.83846 1.99900 2.17189 2.35795
2.36736 2.59374

* n:
6 1.34010 1.4
7 1.40710 1.50363
8 1.47746 1.59385
9 1.55133 1
10 1.62889 1.79085 1.96715 2.15892
Thut toa
+
+
+ ', ' ':8); Vit xung dong;
Di chuyn n toa (4,n+1);
0)));
nh
Khai 2 bin i,n
Vit ('n', ' ':8);
Cho i=5 n 10 lam Vit (I,'%
Cho n=1 n 10 lam
Vit (n, ' :3);
Cho i=5 n 10 lam
Vit ( Exp(n*Ln(1+ i/

10
Vit xung dong.
Chng tr *
io.h>
nio.h>
Nguyen Van Nguyen -Khoa CNTT-DHKT\n");
++)
\n",n);
toxy(4,n+2);

d #include <st
#include <co
#include <math.h>
void main()
{
clrscr();
oat i; fl
int j,n;
t by printf("Copyrigh
printf("n"," ");
j++) printf("%8d%",j);printf("\n"); for(j=5; j<=10;
(n=1; n<=10;n for
{
rintf("%d p
go
for(i=5;i<=10;i++) printf("%9f",exp(n*log(1+i/100)));
printf("\n");
}
getch();
}

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 38
11.S tuyt hao la s bng tng cac c s cua no. V du 6 =1
+2
Vi tt ca cac s tuyt hao nho hn 1000
*
+3.
t chng trnh lit k
Thut toan:
+ : i,j,tong
+
Be
=0 th Tong=Tong +j;
u Tong=i Th
Vit(' So tuyet hao la:',i);
o la:');
lam
h Write(j, ' ');
nh
Khai bao 3 bin
Cho i=1 n 1000 lam
gin
Gan Tong=0;
cho J=1 n i-1 lam
Nu (i mod j)
N
Vit(' Cac uoc s
Cho j:=1 n i-1
Nu i mod j =0 T
Vit xung dong
End

* Chng tr
de<conio.h>
f (
f ( {
printf("So tuyet hao la=%d\n",i);
printf("Cac uoc so la");
for(j=1; j<i-1;j++)
if (i%j==0) printf(" %d ",j);
printf("\n");
#include<stdio.h>
#include<math.h>
#inclu
void main()
{
clrscr();
int i, j,tong;
for(i=1;i<=1000;i++)
{
tong=0;
for (j=1;j<=i-1; j++)
i i%j==0) tong=tong+j;
i tong==i)





}
}
getch();
}



Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 39
12.Vit chng trnh nhp s M va tm s nho nht sao cho n!
>=
* n:
M.
Thut toa
+ gt,m
Gan gt=1;
+ lam
ng nao gt<=m;
+ nhat co n giai thua lon hon

* Chng trnh
khai bao 3 bin i,
+ Nhp gia tr cua M t ban phm.
+
+ i=0;
i=i+1;
gt=gt*i;
ch
Vit So n nho

tdio.h>
<conio.h>
r();
t;
;
thuc M=");
{
hua bang %d la %d",i,gt);
g trnh nhp day s gm n s nguyn. Tnh trung
bnh nhn.
*

#include <s
#include

void main()
{
clrsc
long g
float m
int i;
printf("nhap so
scanf("%f",&m);
gt=1;
i=0;
do
i++;
gt=gt*i;
} while (gt<=m);
printf(" So n nho nhat co n giai thua lon =%f la %d\n",m,i);
printf(" Giai t
getch();
}

13. Vit chn
bnh cng, trung

Thut toan:
+ chiu kiu thc.
+ :Sumtb,Ptb,A,i,n
+ A t ban phm
Khai bao mang 1
Khai bao 5 bin
oc vao n, mang
+ Gan Ptb=1;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 40
+ Gan Sumtb=0;
+Cho i=1 n n lam
;
Ptb=Ptb*A[i];
+ g cua day s Sumtb
Vit trung bnh nhn Ptb

* Chng trnh
Sumtb=sumtb+A[i]
Sumtb=Sumtb/n;
Ptb=sqrt(Ptb);
Vit trung bnh cn


n cua day n :");

------*/

);
at mang 1 chieu*/
----------*/
o :\n");
i=1; i<=n; i++)
]);
;
mtb+a[i];
ptb=ptb*a[i];
}
printf("Trung binh nhan cua day so ptb=%f",ptb);
nh nhp t ban phm s nguyn dng n. Tnh
tng `va tch cac ch s cua no.
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main()
{
clrscr();
int a[1000],n,i;
float sumtb,ptb;
printf("\nNhap vao so phan tu nguye
scanf("%d",&n);
/* nhap mang 1 chieu*/
/*--------------------
for (i=1; i<=n; i++)
scanf("%d", &a[i]
/* Xu
/*-------------------
printf("Day da ch
for (
printf("%6d", a[i
ptb=1; sumtb=0
for(i=1;i<=n;i++)
{
sumtb=su

sumtb=sumtb/n;
ptb=sqrt(ptb);
printf("\nTrung binh cong cua day so sumtb=%f\n",sumtb);

getch();
}

14. Vit chng tr
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 41
( V du: n=452 th tng cac ch s S=11 va tch cac ch s P
t toan:
=40)
* Thu
+ hai bao hng max=1000
+ n : n,i,j,t,S,P
+ A
phm
+
0;
ch
+ Gan S=0; P=1;
m
s
Vit tch cac ch s.
Chng trnh
Co th k
Khai bao cac bi
khai bao mang
+ oc n t ban
+ gan i=0; t=n;
Lam
i=i+1;
A[i]=n mod 1
n=n div 10;
ng nao n>0
Cho j=1 n i la
s:= S+ A[j];
P:=P*A[j];
Vit tng cac ch

*
tdio.h>
th.h>
;
],n,i,j,t;
p vao so phan tu nguyen cua day n :");
;
e (n>0);
s=s+a[j];
p=p*a[j];
printf(" Tong cac chu so cua so %d la %d\n",t,s);
#include <s
#include <conio.h>
#include <ma

void main()
{
clrscr()
int a[1000
int s,p;
printf("\nNha
scanf("%d",&n);
i=0; t=n;
do {
i++
a[i] =n%10;
n=n/10;
} whil
s=0;p=1;
for(j=1;j<=i;j++)
{


}
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 42
printf(" Tich cac chu so cua so %d la %d",t,p);

15 h lit k tt ca cac s k bng tng lp
getch();
}
. Vit chng trn
phng cac ch s cua no (k < 1000)
* Thut toan:
Khai bao 3 bin:i,j,k
m
m

+k*k*k =100*i +10*j +k Th
Chng trnh
+
+ Cho i=1 n 9 la
Cho j=0 n 9 la
Cho k=0 n 9 lam
Nu i*i*i +j*j*j
+ Vit i,j,k.

*
o.h>
hoa CNTT-DHKT\n");
c so nho hon 1000 co tong lap phuong cac chu so
<=9;i++)
=9;j++)
for(k=0; k<=9;k++)
if(i*i*i+j*j*j+k*k*k==100*i+10*j+k)
}
t k tt ca cac s nguyn t nho hn
t nhp t ban phm.

#include <stdi
#include <conio.h>
#include <math.h>
void main()
{
clrscr();
int i,j,k;
printf("Copyright by Nguyen Van Nguyen -K
printf("Ca
bang chinh no gom\n");
for(i=1; i
for(j=0; j<


{
printf("\n %d%d%d",i,j,k);

getch();
}

16. Vit chng trnh li
n, vi n la s longin

* Thut toan:
Begin
i
if i mod j = 0

+ Cho i=2 n i<n

Cho j=2 n j<

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 43
thoat
if j = i vit i ra man hnh
End
Chng trnh


*
io.h>
h>
n, i, j;
uyen Van Nguyen -Khoa CNTT-DHKT\n");
tri N : ");
);
o nguyen to nho hon n la : ");
for (j=2; j<i; j++)
i%j == 0)
break;
t chng trnh nhp mt s nguyn n va tnh tng cac ch

#include <std
#include <conio.

void main()

{
clrscr();
int
printf("Copyright by Ng
printf("\nNhap gia
scanf("%d", &n
printf("\nCac s
for (i=2; i<n; i++)
{

if (

if (j == i)
printf("%d ", i);
}

get ch( ) ;
}

17. Vi
s cua n.
* Thut toan:
n s,n
n t ban phm
Gan s=0;
s= s+n mod cho 10
vit s ra
Chng trnh
+ Khai bao cac bi
+ Nhp gia tr s
+
+ lam

n=n div 10
chng nao n>0;
+

*
io.h>
o.h>

#include <std
#include <coni
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 44

void main()

{
clrscr();
Tinh tong cac chu so\n");
n =");
;
{
s=s+ n%10;
=n/10;
intf("To
rnh tnh tng
uyn n va s thc x nhp t ban phm.
int n,s,t;
printf("
printf("Nhap so
scanf("%d",&n);
s=0; t=n
do

n
} while (n>0);
pr ng cac chu so cua so %d la %d",t,s);
getch();
}


18. Vit chng t

n
x
n
n
) 1 ( + +
x x
n
X
K K
2
) 1 (
1

+
S=
k 1
K
2 1
=

=
Vi s ng

* Thut toan:
+ Khai bao cac bin s,x,t,n,k
+ oc gia tr x t ban phm
1 th
o k=2 n n lam
h t=-exp(k*ln(x))
c lai gan t=exp(k*ln(x));
.
nh
+ Nu n>
Gan S=1
Ch
Nu (k mod 2) =0 t
Ng
S=s+t;
Vit S
Ngc lai vit s=1

* Chng tr
clude <stdio.h>
io.h>


#in
#include <con
#include<math.h>

void main()

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 45
{
clrscr();
float s,x,t;
k;
p so n =");
ap so thuc x =");
(k*log(x));
=s+t;
}
printf(" Gia tri cua tong S=%f\n",s);
}

getch(
rnh tnh tng
oan:
int n,
printf("Nha
scanf("%d",&n);
printf("Nh
scanf("%f",&x);
if (n>1)
{
s=1;
for (k=2;k<=n;k++)
{
if (k%2==0) t=-exp(k*log(x));
else t=exp
s



else printf(" Gia tri S=1");
);
}



19. Vit chng t

s =

2
=
n
k
+
k
k
1
1

vi n nhp t ban phm
* Thut t
n S,n,i
oc gia tr n t ban phm.
s= s+ i/(i*i +1);
Vit S.
hng trnh

+ Khai bao cac bi
+
+ Gan s=0;
+ Cho i=1 n n lam
+

* C
h>
n()

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

void mai
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 46
{
n k 1
=
=
S=
k n K 1 1
) 1 (
2
1 1 ) 1 (
+ +

+ +

L
i;
ntf(" Nhap so n=");
scanf("%f",&n);
for (i=1;i<=n;i++) s+=i/(i*i+1);
Gia tri tong S=%f",s);
getch();
ng

*
clrscr();
float s,n,
pri

s=0;

printf("

}

20. Vit chng trnh tnh t

k 1
Thut toan:
+ Khai bao cac bin n,i,S,T
phm
Gan s=1
am
t=-1/i
i tong S
nh
+ oc gia tr n t ban
+
+ cho i:=2 n n l
Nu i mod 2 =0 th
Ngc lai t=1/i;
+ gan s=s+t;
+ Vit Gia tr

* Chng tr

n()
r();
o n=");
,&n);
if ((int)i%2==0) t=-1/i;
else t=1/i;
+t;
printf(" gia tri cua tong la S=%f",s);
getch();
#include <stdio.h>
#include <conio.h>
#include <math.h>
void mai
{
clrsc
float s,t,i,n;
printf(" Nhap s
scanf("%f"
s=1;
for(i=2; i<=n;i++)
{


s=s
}


}
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 47


Vit chng trnh tnh t 21. ng

=
+ = + + +
1
....
1 1
n
k
k n
k n 1
3
1
10 + +
2
1 10 S=
3 2
* Thut toan:

+ Khai bao cac bin n,i,S,T.
ban phm
am
i)/i))
S.
Chng trnh
+ oc gia tr n t
Gan s=10; +
+ Cho i=1 n n l
+ Gan s=s+1/(exp(ln(
+ Vit gia tr tng

*

()
i,n;
ntf(" Nhap so n=");
scanf("%f",&n);
for(i=1; i<=n;i++) s+=1/(exp(log(i)/i));
cua tong la %2f",s);
t ca cac c s cua n
Chng trnh

#include <stdio.h>
#include <conio.h>
#include <math.h>
void main
{
clrscr();
float s,t,
pri

s=10;

printf(" ket qua
getch();
}

.Nhp n t ban phm. Tm t 22

*
io.h>
o gia tri N = ");

#include <std
#include <conio.h>

void main()
{
clrscr();
int n, i;
printf("Ch
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 48
scanf("%d", &n);
for (i=1; i<n; i++)
getch();

Epsilon theo yu cu bit rng s PI se at
c khi N u ln
h:
printf("Cac uoc so cua %d la :\n", n);

if ((n % i) == 0)
printf("%5d", i);
}
23. Dung vong WHILE tnh s theo cng thc

1 2
) 1 (
+
+
N
Vi chnh xac
1
...
7
1
5
1
3
1
1
4
+ + =
N

Epsilon <
1
4


N + 2
Chng Trn
io.h>

in()
n,buoclap;
p=0; n=3;
(fabs(b)>epsilon)
uoclap++;
}
printf(" So pi la=%5f\n",a*4);
printf(" So pi ham chuan=%5f\n",M_PI);
f",buoclap);
getch();

#include <std
#include <conio.h>
#include <math.h>
#define epsilon 0.000001
void ma
{
clrscr();
float a,b,
a=1;b=1;buocla
while
{
b=-b*(n-2)/n;
a=a+b;
n=n+2;
b



printf(" So vong lap la=%
}



Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 49
24. Vit chng trnh tnh
n
2 1
2 1
n
x
n

( )
S= Sin(x) = x -
! 3
+
3
x
! 5
- ... + (-1)
x
5
!
* Thut toan:
+ co hng epsilon
+ Kha
+ Nh an phm.
: x=x*pi/180
Chng nao fabs(a)>=eps lam
*(i-1))));
ham chun so sanh.
nh
th khai
i bao cac bin s,x,a,i
p x t b
+ co th i x sang
+ Gan s=0; a=x; i=3;
+
s=s+a;
a=a*(-(x*x/(i
i=i+2;
+ Vit kt qua s.
+ Vit kt qua theo

* Chng tr
io.h>

sin(x) theo chuoi Taylor*/
0;
o while*/
---------------------------*/
=a1*(-(x*x/(i*(i-1))));
+2;
----*/
o do ...while*/
do
+ ...

#include <std
#include <conio.h>
#include <math.h>
0001 #define epsilon 0.00
void main()
{
clrscr();
/* Chuong trinh tinh
float s1,s2,x,a1,a2,i,k;
printf(" Nhap x=");
("%f",&x); scanf
x=x*M_PI/18
s1=0; a1=x;i=3;
/* Tinh the
/*----
while (fabs(a1)>=epsilon)
{
s1+=a1;
a1
i=i
}
/*---------------------------
/* Tinh the
s2=0; a2=x;k=3;

{
s2+=a2;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 50
a2=a2*(-(x*x/(k*(k-1))));
k=k+2;
}while (fabs(a2)>=epsilon);
qua theo do ...while =%f\n", s2);
a o sin(x));
. Vit chng trnh tnh S bng 2 vong lp va in kt qua nh

printf("Ket qua theo while =%f\n", s1);
printf("Ket
printf("ket qu the ham chuan=%f",
getch();
}

25
bang tra
n
2 1
2 1
n
x
n

( )
S= Sin(x) = x -
! 3
x
3
+
! 5
5
x
- ... + (-1)
!
nh * Chng tr
tdio.h>
conio.h>
d;
k,y,s,a,x,a1,s1;
CUU HAM LUONG GIAC\n");
CHUAN \n");
--------------------------*/
M_PI/180;
----------------------*/
o while*/
---------------------------*/
a*(-(x*x/(i*(i-1))));
+2;
----*/
o do ...while*/
+ ...

#include <s
#include <
#include <math.h>
#define epsilon 0.00000001
void main()
{
clrscr();
int
float i,j,
printf(" BANG TRA
printf(" DO WHILE DO_WHILE
/*--------------
for(j=1;j<=18;j++)
{
d=j*10;
x=d*
/*---------
s=0; a=x;i=3;
/* Tinh the
/*----
while (fabs(a)>=epsilon)
{
s+=a;
a=
i=i
}
/*---------------------------
/* Tinh the
s1=0; a1=x;k=3;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 51
do
{

a1=a1*(-(x*x/(k*(k-1))));
k=k+2;
n);
printf("\n%2d %5f % 5f %5f",d, s, s1, sin(x));
s1+=a1;


}while (fabs(a1)>=epsilo
}
getch();
}

26. Vit chng trnh tnh
n
)! 2 (
2
n
x
n
S = Cos(x) = 1 -
! 2
2
x
+
! 4
4
x
- ... + (-1)
* Thut toan:
+ co hng epsilon
+ Kha
+ Nh an phm.
: x=x*pi/180
Chng nao abs(a)>=eps lam
a=a*(-(x*x/(i*(i-1))));
i=i+2;
ham chun so sanh.
th khai
i bao cac bin s,x,a,i
p x t b
+ co th i x sang
+ Gan s=0; a=1; i=2;
+
s=s+a;
+ Vit kt qua s.
+ Vit kt qua theo

* Chng trnh


#include <stdio.h>
000001
nh cos(x) theo chuoi Taylor*/
("%f",&x);
0;
o while*/
---------------------------*/
+ ...
#include <conio.h>
#include <math.h>
#define epsilon 0.00
void main()
{
clrscr();
/* Chuong trinh ti
float s1,s2,x,a1,a2,i,k;
printf(" Nhap x=");
scanf
x=x*M_PI/18
s1=0; a1=1;i=2;
/* Tinh the
/*----
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 52
while (fabs(a1)>=epsilon)
{
s1+=a1;
a1=a1*(-(x*x/(i*(i-1))));
+2;
----*/
o do ...while*/
do
}while (fabs(a2)>=epsilon);
printf("Ket qua theo while =%f\n", s1);
a o l %f\n", s2);
theo ham chuan=%f",cos(x));
i=i
}
/*---------------------------
/* Tinh the
s2=0; a2=1;k=2;

{
s2+=a2;
a2=a2*(-(x*x/(k*(k-1))));
k=k+2;


printf("Ket qu the do ...whi e =
printf("ket qua
getch();
}
tnh 27. Vit chng trnh
S = Sh(x) = x +
3
3!
x
+
5
x
+ ...
2 1
2 1
n
x
n
+
+ ( ) 5!
+
!

* Thut toan:
+ co hng epsilon
+ Kha ,sh
+ Nh an phm.
/exp(x))/2
Chng nao a >=eps lam
a=a*(x*x/(i*(i-1)));
ham chun so sanh.
nh
th khai
i bao cac bin s,x,a,i
p x t b
+ Gan sh=(exp(x) -1
+ Gan s=0; a=x; i=3;
+
s=s+a;
i=i+2;
+ Vit kt qua s.
+ Vit kt qua theo

* Chng tr
io.h>
0.00000000000001
+ ...

#include <std
#include <conio.h>
#include <math.h>
#define epsilon
void main()
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 53
clrscr();
float s1,s2,x,a1,a2,i,k,shx;
f(" Nhap x=");
&x);
-1/(exp(x)))/2;
o while*/
---------------------------*/
=a1*(x*x/(i*(i-1)));
+2;
-------*/
o do ...while*/
x/(k*(k-1)));
k=k+2;
n);
pri a theo while %f\n", s1);
pri a theo do ... hile =%f\n", s2);
theo ham chuan=%f",shx);
print
scanf("%f",
s1=0; a1=x;i=3;shx=(exp(x)
/* Tinh the
/*----
while (fabs(a1)>=epsilon)
{
s1+=a1;
a1
i=i
}
/*------------------------
/* Tinh the
s2=0; a2=x;k=3;
do
{
s2+=a2;
a2=a2*(x*

}while (fabs(a2)>=epsilo
ntf("Ket qu =
ntf("Ket qu w
printf("ket qua
getch();
}
tnh 28. Vit chng trnh
S = ch(x) = 1 +
x x x
n 2
.... + + +
2 4
n 2 ( )! 2 4 ! !
* Thut toan:
+ co hng epsilon
+ Kha ,ch
+ Nh an phm.
/exp(x))/2
lam
s=s+a;
1)));
sanh.
nh
th khai
i bao cac bin s,x,a,i
p x t b
+ Gan ch=(exp(x) +1
+ Gan s=0; a=1; i=2;
+ Chng nao a>=eps
a=a*(x*x/(i*(i-
i=i+2;
+ Vit kt qua s.
+ Vit kt qua theo ham chun so
* Chng tr
io.h>
+ ...

#include <std
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 54
#include <conio.h>
0000000001
;
f(" Nhap x=");
&x);
x)+1/exp(x))/2;;
o while*/
---------------------------*/
=a1*(x*x/(i*(i-1)));
+2;
-------*/
o do ...while*/
do
}while (fabs(a2)>=epsilon);
=%f\n", s1);
. S Horner tnh a thc P(x) = a
n
x
n
+ a
n-1
x
n-1
+ ... + a
1
x
+ (a
1
+(a
2
+ (..
n
.)x)x. Vit chng trnh nhp
a thc a
0
,a
1
,...,a
n
va x ri dung s Horner
.
toan:
#include <math.h>
#define epsilon 0.00
void main()
{
clrscr();
/* Tinh chx */
float s1,s2,x,a1,a2,i,k,chx
print
scanf("%f",
s1=0; a1=1;i=2; chx=(exp(
/* Tinh the
/*----
while (fabs(a1)>=epsilon)
{
s1+=a1;
a1
i=i
}
/*------------------------
/* Tinh the
s2=0; a2=1;k=2;

{
s2+=a2;
a2=a2*(x*x/(k*(k-1)));
k=k+2;


printf("Ket qua theo while
printf("Ket qua theo do ...while =%f\n", s2);
printf("ket qua theo ham chuan=%f",chx);
getch();
}
29
+ a
0
c biu din nh sau:
.+ (a )x).. P(x) =a
0
mang h s
tnh gia tr P(x)
* Thut
hp n

+ Khai bao cac bin : n, i , f , x, a
+ lam
N
Chng nao n<0.
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 55
+ Nhp x
+ Gan f=0
+ Cho i=n xung 0 lam f=f*x +a.
an hnh.
nh
+ Vit f ra m

* Chng tr
tdio.h>
<math.h>
("%f",&n);
);
f",&x);
i=n; i>=0; i--)
Nhap a%d=",tt);
scanf("%f",&a);
}
",f);
fibonaxi 1 1 2 3 5 8 13 21 34 55 . . .
Chng trnh
#include <s
#include <conio.h>
#include
void main()
{
clrscr();
int tt;
float f,a,x,i,n;
do {
printf(" Nhap n=");
scanf
} while (n<0);
printf(" Nhap x="
scanf("%
f=0; tt=0;
for(
{
printf("

tt++;
f=(f*x)+a;

printf(" f(x)=%f
getch();
}
30. Tao day
*
cr();
b2 = 1, fib = 2;
N : ");

, fib1, fib2);
le (fib1+fib2 < n)

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

void main()
{
clrs
int n, i, fib1 = 1, fi
printf("\nNhap gia tri
scanf("%d", &n);
printf("%d %d "
whi
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 56
{
fib = fib1 + fib2;
printf("%d ", fib);
fib2 = fib1;
fib1 = fib;
}
getch();










}


































Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 57
Ph n IV : CHUONG TRINH CON
1. Vit chng trnh(dung chng trnh con la ham) tnh
! 5
5
x
- ... + (-1)
n
2 1
2 1
n
x
n

( )
S= Sin(x) = x -
! 3
x
3
+
!

* Thut toan:

Thut toan nh bai phn III nhng vit lai chng trnh con
g trnh
di dang ham.
* Chn
nio.h>
tdio.h>
0.000000000001
at x);

at x;
("%f",&x);
m=%f\n",tinh(x));
sin(x));
inh(float x)
eo while*/
---------------------------*/
s=0;
ile (fabs(a)>=epsilon)
{
s+=a;
i=i+2;
return s;


+ ...

#include <co
#include <s
#include <math.h>
#define epsilon
float tinh(flo
main()
{
clrscr();
flo
printf("nhap x=");
scanf
x=x*M_PI/180;
printf(" ket qua theo ha
printf(" ket qua theo ham chuan=%f\n",
getch();
}
float t
{
float a,s,i;
/* Tinh th
/*----
a=x; i=3;
wh


a=a*(-(x*x/(i*(i-1))));
}
}

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 58
2. Vit chng trnh(dung chng trnh con la ham) tnh
! 2
2
x
+
! 4
4
x
- + (-1)
n
)! 2 (
2n
n
x
S = Cos(x) = 1 -
* Thut toan:

Thut toan nh bai phn III nhng vit lai chng trnh con
di dang ham.
* Chng trnh

#include <conio.h>
dio.h>
ath.h>
.000000000001
x);
ntf("nhap x=");
_PI/180;
theo ham=%f\n",tinh(x));
m chuan=%f\n",cos(x));
s,i;
----------------------*/
=2; s=0;
a)>=epsilon)
s+=a;
i=i+2;

Vit chng trnh la ham tnh
#include <st
#include <m
#define epsilon 0
float tinh(float
main()
{
clrscr();
float x;
pri
scanf("%f",&x);
x=x*M
printf(" ket qua
printf(" ket qua theo ha
getch();
}
float tinh(float x)
{
float a,
/* Tinh theo while*/
/*---------
1; i a=
while (fabs(
{
a=a*(-(x*x/(i*(i-1))));
}
return s;
}

3.
S = Sh(x) = x +
3
3
x
!
+
5
x
5!
+ ... +
2 1 n
x
+
+ ...
2 1 n + ( )!

+ . . .

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 59
Thut toan:

Thut toan nh bai phn III nhng vit lai chng trnh con
g trnh
di dang ham.

* Chn
nio.h>
o.h>

shx=(exp(x)-1/exp(x))/2;
am=%f\n",tinh(x));
m chuan=%f\n",shx);
----------------------*/
x; i=3; s=0;
a)>=epsilon)
a (i-1)));
i=i+2;
return s;
nh (co dung chng trnh con) tnh
S = ch(x) = 1 +
# clude <co
#include <st
in
di
#include <math.h>
#define epsilon 0.000000000001
float tinh(float x);
main()
{
clrscr();
float x,shx;
printf("nhap x=");
scanf("%f",&x);
printf(" ket qua theo h
printf(" ket qua theo ha
getch();
}
float tinh(float x)
{
float a,s,i;
/* Tinh theo while*/
/*---------
a=
while (fabs(
{
s+=a;
=a*(x*x/(i*
}

}
4. Vit chng tr
x x x
n
n 2 4 2
2 4 2 ! !
....
( )!
+ + +
Thut toan:
ut toan nh bai phn III nhng vit lai chng trnh con
+ ...

Th
di dang ham.



Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 60
* Chng trnh

#include <conio.h>
dio.h>
h>
.000000000001

at x,chx;
("%f",&x); chx=(exp(x)+1/exp(x))/2;
theo ham=%f\n",tinh(x));
m chuan=%f\n",chx);
s,i;
----------------------*/
1; i=2; s=0;
a)>=epsilon)
{
s+=a;

}
m tra s nguyn n co phai la s chnh phng
#include <st
#include <math.
#define epsilon 0
float tinh(float x);
main()
{
clrscr();
flo
printf("nhap x=");
scanf
printf(" ket qua
printf(" ket qua theo ha
getch();
}
float tinh(float x)
{
float a,
/* Tinh theo while*/
/*---------
a=
while (fabs(


a=a*(x*x/(i*(i-1)));
i=i+2;

return s;
}

5. Vit mt ham ki
khng ?.

* Thut toan:
= 0;
begin
break;
la s chnh phng
khng phai s chnh phng
+ gan OK
+ cho i=1; i<=(int)sqrt(n);
if (i*i == n)

OK = 1;

end;
+ Nu (OK) vit n
Ngc lai vit n
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 61

* Chng trnh
clude <stdio.h>
ath.h>
emtra(int n);
rscr();
a so chinh phuong*/
n;
)
i, OK = 0;
ight by Nguyen Van Nguyen -Khoa CNTT-DHKT");
ap gia tri N : ");
("%d", &n);
i<=(int)sqrt(n); i++)
break;
}
hinh phuong", n);
printf("\nSo %d khong phai chinh phuong", n);

6. yn x,y,z co phai la b ba s
Pi
*

#in
#include <m
#include <conio.h>
void ki

main()
{
cl
/* chuong trinh kiem tr
int
kiemtra(n);
getch();
}

void kiemtra (int n
{
clrscr();
int
printf("Copyr
printf("\nNh
scanf
for (i=1;
if (i*i == n)
{
OK = 1;


if (OK)
printf("\nSo %d la so c
else

}
Vit mt ham kim tra 3 s ngu
thago khng (x
2
+y
2
=z
2
).
Thut toan:

x,y,z:Real):Boolean;
Nu (sqr(x) +sqr(y)=sqr(z))
(z)=sqr(y))
(z)=sqr(x)) th kiemtra:=True
a:=False;
Tao ham Kiemtra(
hoc (sqr(x) +sqr
hoc(sqr(y) +sqr
ngoc lai Kiemtr
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 62

* Chng trnh

#include <stdio.h>
#include <math.h>
o.h>
x*x
KT(int x,int y,int z)
kiemtra;
r(x)+sqr(y)==sqr(z))||(sqr(x)+sqr(z)==sqr(y))||
)==sqr(x))) kiemtra=TRUE;else kiemtra=FALSE;
t;
ntf("Nhap 3 so a, b, c");
anf("%d%d%d",&a,&b,&c);
printf(" Day la bo ba cua Pithago");
se printf(" Day khong phai bo ba cua Pithago");
a cac s nguyn x,y,z la b ba s Pithago
Chng trnh
#include <coni
#define TRUE 1
#define FALSE 0
#define sqr(x)
int
{
int
if ((sq
(sqr(y)+sqr(z
return kiemtra;
}
main()
{
clrscr;
int a,b,c,
pri
sc
t=KT(a,b,c);
if (t==TRUE)
el
getch();
}

7. Vit mt ham in r
2 2 2
(x +y =z ).

*

onio.h>
();
;

#include <math.h>
#include <stdio.h>
#include <c
void main()
{
clrscr();
textbackground(GREEN);
textcolor(BLUE);
clrscr
long x, y, z, dem;

dem=0
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 63
for (x=1; x<=25; x++)
= sqrt(x*x+y*y);
dem++ ;
printf("\n%6ld %6ld %6ld", x, y, z);
}
dinh ly Pitago", dem);

8. mt ham kim tra i s nguyn dng n co bng tng
l h s cua no khng.
V 153 = 1 + 5
3
+ 3
3

*
for (y=1; y<=25; y++)
{
z
if (z*z == x*x + y*y)
{



}
printf("\n Bo so la %ld so thoa man
getch();
}

Vit
p phng cac c
3
du :
Thut toan:
+ uong
,i,t
m = n mod 10;
tam*tam;
Tao ham TongLapPh
Khai bao cac bin tam, sum3
Gan
i=0; sum3=0;
lam
Gan i=i+1;
ta
sum3= sum3 + tam*
n= n div 10;
Chng nao n>0;
Ham tra v =sum3;
* Chng trnh

io.h>
h>
gLapPhuong(int n);
apPhuong (int n)
,tam;
i++;
n%10;
sum3=sum3+tam*tam*tam;
#include <std
#include <math.h>
#include <conio.
int Ton
int TongL
{
clrscr();
int sum3,i
i=0; sum3=0;
do {

tam=

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 64
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
k
n
k k
C C C
1
1

+ =
1
0
= =
n
n n
C C
a. vi
n n 1

,&n);
r=n;
t=TongLapPhuong(n);
/*Co tong lap phuong cac chu so :TLPCCS*/
if (t==stor) printf("%d Co TLPCCS bang chinh no");else
getch();
}
Vi tnh t hp n chp k
In kt qua cua cu a va b.
n=n/10;
} while (n>0);
return sum3;
}
main()
{
clrscr();
int n; int t,stor;
printf(" nhap so nguyen N=");
scanf("%d"
sto
printf("khong thoa man dk");

9. t 2 ham

b.

)! !*( k n k
! n
C
k
n
=

c.
* Chng trnh
1(int n, int k)
||(k==n)) ketqua=1;
else ketqua=Th1(n-1,k-1)+Th1(n-1,k);
qua;
rintf("\nCopyright by Nguyen van Nguyen khoa CNTT ");
a tri N va K : ");
canf("%d%d", &n, &k);

#include <conio.h>
#include <stdio.h>
int Th
{
int ketqua;
if ((k==0)

return ket
}
long TOHOP(int k, int n);
/* Chuong trinh tinh to hop cua n chap k*/
void main()
{
int n, k;
clrscr();
p
printf("\nNhap vao gi
s
Bai tp Tin hoc ai cng 65
printf("Top hop chap %d cua %d = %lu\n", k, n, TOHOP(k, n));
o hop theo cach de quy=%d",Th1(n,k));
n)
int i;
Result *= i;
return Result;

{
}
tnh tng S
Chng trnh
printf("T
getch();
}
long giaithua(int
{
long Result = 1;

for (i=2; i<=n; i++)


}
long TOHOP(int k, int n)
return giaithua(n) / (giaithua(k) * giaithua(n-k));


10. Hay vit 1 ham quy
n
a a a
S
1
...
1 1
2
+ + + =

*
stdio.h>
<math.h>
Tong(int n,float x)
qua;
t=1;
=1;i<=n;i++)
t=t*x;
/t+Tong(n-1,x);
qua;

#include <
#include
#include <conio.h>
float
{
float ket
float t;
int i;
if (n==0) ketqua=1;
else
{

for(i

ketqua=1
}
return ket
}
main()
{
clrscr();
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 66
float a;
int i,n;
printf("nhap a=");
scanf("%f",&a);
scanf("%d",&n);
getch();
11. am khac goi no vao tnh tng S

*
printf("nhap n=");
printf(" ket qua theo ham=%3f",Tong(n,a));
}

Hay vit 1 ham quy tnh a
i
, ri vit mt ham goi h
n
a a a
2
S =
1
...
1 1
+ + +
Thut toan:

+ Co th khai bao cac bin toan cuc
guyn
THUA(x:kiu thc,n:kiu nguyn)
t=x*lt(x,n-1);
);
cac bin a phng s1,t1:kiu thc,i:kiu nguyn

Cho i=1 n n lam
/lt(x,i);
nh chnh
a);
ng trnh
a:kiu thc
n:kiu n
+ Tao ham tnh a mu lUY
Nu (n==0) th lt=1
Ngc lai l
+ Tao ham TINH(n:byte;x:real
Khai bao
Gan s1=1;
Gan s1:=s1+1
Vit s1
+ Trong chng tr
oc n,a
Goi ham TINH(n,

* Ch
.h>
ude <conio.h>

0) Lt=1; else Lt=x*LUYTHUA(x,n-1);
t TINH(int n, float x)

#include <stdio.h>
#include <math
#incl
float LUYTHUA(float x,int n)
{
float Lt;
if (n==
return Lt;
}
floa
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 67
float s1=1,t1;
1;i<=n; i++) s1=s1+1/LUYTHUA(x,i);
et qua la=%f",s1);
ntf("nhap a=");
anf("%f",&a);
getch();
}

12. a. Vit 1 ham
thu tuc lp tnh
int i;
for(i=
printf(" k
}
main()
{
float a;
int n;
clrscr();
pri
sc
printf("nhap n=");
scanf("%d",&n);
TINH(n,a);
quy tnh S
n
i b. Hay vit 1 ri goi lng vao 1 ham
t qua bng ham chun so sanh).
:
tnh tng S (In k

n * Thut toa

Gi y: Thut toan tnh cn bc n cua x bng phng phap xp x (khng dung ham chun EXP)
Thut toan tnh y= x
n
* Nu x=0 th y=

0 nu khng
t y0=x
p lai
y=y0
y0=1/n*((n-1)*y + x/y
n-1
)
ay goi ham tnh x
n
tnh y
n-1
}
+
+
+ L


{ h


n
n
n
S + + + + = ...
3
3
2
2
1
3
Cho n khi a bs( y-y0)< epsilon
y:= (y+y0)/2



Chng trnh


Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 68
#include <stdio.h>
<math.h>
e epsilon 0.00001
Mu(float x,float n)
i;
=1;
e
;
f(n>0) ketqua=s; else ketqua=1/s;
---------------------------------*/
Can(float x,float n)
,can;
0=x;
y=y0;
X_Mu(y,n-1));
} while (fabs(y-y0)>epsilon);
)/2;
at tong(float n)
t t=1;
t=t+i/TinhCan(i,i);
t;
y;float kq;
=1;
e
y=exp(1/n*log(n));
#include
#include <conio.h>
#defin
float X_
{
float s,ketqua;
int
if (n==0) ketqua
els
{ s=1;
for(i=1; i<=abs(n); i++) s=s*x
i
}
return ketqua;
}
/*----
float Tinh
{
float y0,y
if (x==0) can=0;
else
{
y
do {

y0=1/n*((n-1)*y+x/

can=(y+y0
}
return can;
}
flo
{
floa
int i;
for(i=2;i<=n; i++)
return
}
float tongdq(float n)
{
float
if (n==1) kq
els
{

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 69
kq=n/y+tongdq(n-1);
q;
,&n);
ntf(" ket qua tinh can bac n cua nla=%f\n",TinhCan(n,n));
intf(" ket qua tinh can bac n cua n theo ham
printf(" Theo tong lap =%f\n",tong(n));
getch();
}
3. Vit 1 ham quy tnh S
ng trnh
}
return k
}
main()
{
clrscr();
float n;
float x;
printf("nhap n=");
scanf("%f"
pri
pr
chuan=%f\n",exp(1/n*log(n)));
printf(" Theo tong de quy=%f",tongdq(n));

1
( )
1 2
1 2
1
.

+
n
n
5 3
5 3
..
1 1
1 + + + = S

Ch
.h>
de <conio.h>
t hamdequy(int n)
t ketqua;
0;
e
2*n-1;
xp(t*log(t))+hamdequy(n-1);
scr();
t n;
printf("Nhap n=");

#include <stdio
#include <math.h>
#inclu
floa
{
int t;
floa
if (n==0) ketqua=
els
{
t=
ketqua=1/e
}
return ketqua;
}
main()
{
clr
in
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 70
scanf("%d",&n);
printf("Ket qua=%f ",hamdequy(n));
tch();
quy tnh i!, ri goi vao ham chnh
ge
}

14. Hay vit 1 ham
tnh tng S.

!
1
...
! 2
1
1
n
S + + + =
Chng trnh
#include<conio.h>
th.h>
n)
float ketqua = 1;
for (i=2; i<=n; i++)
= i;
n ketqua;
nt n)
i;
<=n; i++) kq=kq+1/giaithua(i);

rintf("\nNhap vao gia tri N : ");
scanf("%d", &n);
getch();
chng trnh tm c s chung ln nht va bi
t cua 2 s nhp t ban phm

#include <stdio.h>
#include <ma

float giaithua(int
{

int i;

ketqua *
retur
}
float tinh(i
{
float kq=0;
int
for (i=1; i
return kq;
}
void main()
{
clrscr();
int n;
p

printf("%d! = %f\n", n, giaithua(n));
printf("ket qua la=%f",tinh(n));

}

15. Hay vit 1
s chung nho nh


Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 71
Chng trnh
#include <stdio.h>
#include <conio.h>
h>
--------------------*/
b);
&& b != 0)

f (a == 0)
return a;
---------------------------------*/
return a * b / USCLN(a, b);
----------------------*/
nNhap vao so nguyen thu hai b= : ");
canf("%d",&b);
i
get
6. Hay vit 1 chng trnh nhp 1 s nguyn t ban phm va
i s nguyn o ra c s bt ky(2-16)
#include <math.
/*-------------
int USCLN(int a, int b)
{
a = abs(a);
b = abs(
while (a != 0
if (a > b)
a -= b;
else
b -= a;
i
return b;
else

}
/*
int BSCNN(int a, int b)
{

}
/*-----------
main()
{
int a,b;
clrscr();
printf("\nNhap vao so nguyen thu nhat a= : ");
scanf("%d",&a);
printf("\
s
pr ntf("\nUSCLN cua %d va %d = %d", a,b, USCLN(a,b));
printf("\nBSCNN cua %d va %d = %u", a, b, BSCNN(a,b));
ch();
}

1

Chng trnh




Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 72
#include <conio.h>
stdio.h>
s(int s,int cs)
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
s/cs;
doics(s,cs);
t[i]<10) printf("%d",gt[i]);
else printf("%c",gt[i]+55);
o can doi");
,&s);
ntf("nhap co so can doi");
anf("%d",&cs);
getch
1 ham kim tra n nhp t ban phm
guyn t khng ?
#include <
#include <stdlib.h>
void doic
{
int i=1;
int gt[]={0,
if (s>0)
{
gt[i]=s%cs;
s=

if (g

}
}
main()
{
int s,cs;
clrscr();
printf("nhap s
scanf("%d"
pri
sc
doics(s,cs);
();
}

. Hay vit chng trnh co 17
co phai la s n

Chng trnh

#include <conio.h>
#include <math.h>
#include <stdio.h>
RUE 1
LSE 0
emtra(int n)
k=1;
k++;
e (n%k!=0);
#define T
#define FA
int ki
{
int i,k;

do {

} whil
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 73
}
main()
{
int n,t;
clrscr();
printf("Nhap n=");
scanf("%d",&n);
iemtra(n);
f (t==TRUE) printf("%d la so nguyen to",n);
getch
18. Hay vit chng trnh in ra bang s tht cua cac phep
toan logic AND,OR,NOT,NAND,XOR cua nh lut DE MORGAN.

C. Phep AND
A B Y
t=k
i
else printf("%d khong phai la so nguyen to",n);
();
}

0 0 0
0 1 0
1 0 0
1 1 1


D. Phep OR
A B Y
0 0 0
0 1 1
1 0 1
1 1 1

E. Phep NOR
A B Y
0 0 1
0 1 0
1 0 0
1 1 0

F.Phep NAND
A B Y
0 0 1
0 1 1
1 0 1
1 1 0
G.Phep NOT
A Y
0 1
0 1
1 0
1 0

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 74

A B Y
H.Phep XOR
0 0 0
0 1 1
1 0 1
1 1 0
Chng trnh
#include <stdio.h>
#include <conio.h>
#define TRUE 1
#define FALSE 0
/*--KHAI BAO CAC HAM NGUYEN MAU--*/
-----------------*/
nt y);
t y);
NOT(int x);
t x,int y);
();
yright by NGUYEN VAN NGUYEN \n");
tf("\n\tBang chan tri cua dinh luat DE Morgan");
f("\n");
p tuc.An phim ESC de thoat");
27);
ch==13) goto tt;

/*---------------
int AND(int x,int y);
int OR(int x,i
int NAND(int x,int y);
int NOR(int x,in
int
int XOR(in
void VIET();
/*--------------------------------*/
int main(void)
{
char ch;
tt:clrscr
printf("\n\tCop
printf("\n");
prin
print
VIET();
printf("\n");
printf("\nAn Enter tie
do
{
ch=getch();
}while(ch!=13 && ch!=
if(
return(0);
}
/*--------------------------------*/
int AND(int x,int y)
{
return(x&&y);
}
/*--------------------------------*/
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 75
int OR(int x,int y)
{
return(x||y);
}
/*--------------------------------*/
int NOR(int x,int y)
{
return(!(x||y));
}
/*--------------------------------*/
int NAND(int x,int y)
));
------------*/
NOT(int x)
urn(!x);
,int y)
--------------------------------*/
B,C,D,E,F,G,H;
tC\tD\tE\tF\tG\tH");
UE;A++)
E;B++)
D=OR(A,B);
NAND(A,B);
G=NOT(A);
H=XOR(A,B);
.S n la s Kaprekar nu n=a-b,trong o a phat sinh t n bng
s theo th t giam dn;b phat sinh t n
{
return(!(x&&y
}
/*--------------------
int
{
ret
}
int XOR(int x
{
return (x^y);
}
/*
void VIET()
{
int A,
printf("\n\tA\tB\

for(A=FALSE;A<=TR
for(B=FALSE;B<=TRU
{
C=AND(A,B);

E=NOR(A,B);
F=



printf("\n\t%d\t%d\t%d\t%d\t%d\t%d\t%d\t%d",A,B,C,D,E,F,G,H);
}
}

19
cach sp xp cac ch
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 76
theo th t tng dn. Vit chng trnh lit k cac s Kaprekar
nho hn 1 triu
Chng trnh

#include <stdio.h>
#include <conio.h>
ong n);
d sort();
(int n);

ong n,i;
if(karprekar(i)) printf("%8ld",i);
----------------------*/
n;
;
while(m){
t++;
-------*/
fo )
1;j>i;j--)
if (a[i]>a[j]){
;
a[j]=tam;
---------------*/
/*----------------------------------*/
void Modulo(l
voi
int karprekar
int a[7],t;
/*-----------------------------------*/
void main()
{
clrscr();
l
printf("Nhap n=");scanf("%ld",&n);
for(i=1;i<n;i++)

getch();
}
/*------------
void Modulo(long n)
{
long m=
t=0

a[t]=m%10;
m/=10;

}
}
/*---------------------------
void sort()
{
int i,j,tam;
r(i=0;i<t-2;i++
for(j=t-

tam=a[i];
a[i]=a[j]

}
}
/*-------------------
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 77
int karprekar(n)
{
int i;
long x=0,y=0;
for(i=0;i<t;i++){
x=x*10+a[i];
y=y*10+a[t-i-1];
guyn n va kim tra n co phai la
trong day Fibonacci khng?
Modulo(n);
sort();



}
if(y-x==n) return 1;
return 0;
}


20.Vit chng trnh nhp s n
1 s
Chng trnh
#include <stdio.h>
lude <conio.h>
--------------------*/
a(unsigned long t)
g x=0, y = 1, z = 0;
t)
= y;
(z==t)
0;
in()
ong n;
rscr();
so Fibonacci");
ong phai la so Fibonacci");
etch();
#inc
/*----------
int Kiemtr
{
lon
while (z <
{
z = x+y;
x
y = z;
}
if
return 1;
else return
}
/*------------------------------*/
void ma
{
unsigned l
cl
printf("Nhap N = "); scanf("%lu", &n);
if (Kiemtra(n))printf("%lu La
else
printf("%lu Kh
g
}
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 78
21.Vit chng trnh lit k tt ca cac s nguyn bng tng
s cua no.
du: 145!=1!+4!+5!
giai tha cac ch
V
Chng trnh

#include<stdio.h>

00;i++){
0;So=0;
j%10;
for(int k=1,t=1;k<=s;k++) t*=k;
f("%d\t",So);
h kim tra s nguyn co bng tng giai tha
!+5!
h
#include<conio.h>
void main()
{
clrscr();
int i,j,s,So;
clrscr();
for(i=1;i<100
j=i;s=
while (j!=0){
s=
j/=10;

So+=t;
}
if (So==i) print
}
getch();
}

22.Vit chng trn
cac ch s cua no ?.
V du: 145!=1!+4
Chng trn
o.h>
id main()
t;
so can kiem tra n=",n);
&n);
s+=gt(t);

#include<stdi
#include<conio.h>
#include<math.h>
int gt(int n);
vo
{
clrscr();
int n,i,s,m,
printf("nhap
scanf("%d",

s=0;m=n;
while (n>0){
t=n%10;

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 79
n=n/10;
tim");
else printf("khong phai la so can tim");
getch();
}
nt gt(int n)
{
if (n==0||n==1) return 1;
else return n*gt(n-1);




}
if (s==m) printf("so can



i



}












































Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 80

Ph n V : KI U MA NG
I. M
Fibonacci la day s co 2 s u bng 1 va cac
ng trc k no. Vit chng trnh
a xut ra man hnh n s u cua day s
* Th
ANG 1 CHIU

. Day s nguyn 1
s sau bng tng 2 s
v nhp mt s nguyn n
onacci. Fib

ut toan:

+ Khai bao mang 1 chiu
Gan
Fibo[2]:=1;
t Fibo[i]
Chng trnh
+ Nhp n t ban phm
+
Fibo[1]:=1;
+ Cho i=3 n n lam Fibo[i]:=Fibo[i-1] +Fibo[i-2];

+ Cho i=1 n n vi

*
,&n);
ibo[1]=1;
Fibo[2]=1;
or (i=3; i<=n; i++) Fibo[i]=Fibo[i-1]+Fibo[i-2];
printf("%6d", Fibo[i]);

gm n phn t. Sau o in cac phn t

#include <conio.h>
#include <stdio.h>
#include <math.h>
void main()
{
clrscr();
int Fibo[1000],i,n;
printf("\Nhap vao so nguyen n= :");
scanf("%d"
F

f
printf("N so dau tien cua day Fibonaci la:\n");
for (i=1; i<=n; i++)
getch();
}


2. Nhp mt mang 1 chiu
a nhp ln man hnh.
* Thut toan:
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 81

+ Khai bao kiu mang 1 chiu
hp
xut
tuc o lam vic
+ Vit mt thu tuc n
+ Vit mt thu tuc
+ Vit chng trnh chnh goi 2 thu
* Chng trnh

include <stdio.h> #
#include <conio.h>
Max 100
han nhap mang 1 chieu*/
-----*/
int n)
nf("%d", &a[i]);
eu*/
--*/
xuat(int a[Max],int n)

rintf("Day da cho :\n");
<n; i++)
;
t a[Max],n,i;
kiu Integer. Hay xp cac phn t
a cac phn t chn va chia
i ao mang (dung FOR).
#define

/* P
/*--------------------
void nhap(int a[Max],
{
int i;
for (i=0; i<n; i++)
{
printf("a[%d]=",i);
sca
}
}
/* Phan xuat mang 1 chi
/*-----------------------
void
{
int i;
p
for (i=0; i
printf("%6d",a[i]);
}

void main()
{
clrscr()
in
printf("\nNhap vao n= :");
scanf("%d",&n);
nhap(a,n);
xuat(a,n);
etch(); g
}

3. Nhp 1 mang vi n phn t
le va chia ht cho 5 ln u mang v
ht cho 5 xung cui mang (dung FOR). R
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 82
Chng trnh

#include <stdio.h>
def int vt[100];
---------*/

i;
ntf("a[%d]=",i);
d", &a[i]);
-----*/
xuat(vt x,int n)
t i;
da cho :\n");
=1; i<=n; i++)
);
apxep(vt a,int n)
=1;i<=n; i++)
if ((a[i]%5==0)&& (a[i]%2==1))
=a[d];
i<=n; i++)
a[i]%5!=0)

[d]=tg;
-----------------------------*/
(int a[100],int n)
#include <conio.h>
type
/*--------------------
void nhap(vt a,int n)
{
int
for (i=1; i<=n; i++)
{
pri
scanf("%
}
}
/*------------------------
void
{
in
printf("Day
for (i
printf("%6d", x[i]
}
void s
{
int tg,i,d;
d=1;
for(i

{
tg=a[i];
a[i]
a[d]=tg;
d++;
}
for(i=d;
if (
{
tg=a[i];
a[i]=a[d];
a
d++;
}
}
/*
void Dao_mang
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 83
{
int i;
for (i=n; i>=1;i--) printf("%6d", a[i]);
vao n= :");
n);
an dau la :\n");
);
rintf("\nMang sau khi sap xep :\n");
sapxep(a,n);
Dao
getch();
}

4. Du
a/ Sa t mang C theo yu cu sau:
t th nht cua mang B la phn t th hai cua mang
+ Phn t th hai cua mang A cua mang la phn t th ba
cua mang B la phn t th t cua mang C.
th cho n khi thc hin xong vic sao
nh
Chng trnh
}

void main()
{
clrscr();
int a[100],n,i;
printf("\nNhap
scanf("%d",&
nhap(a,n);
printf("\nMang b
xuat(a,n
p

xuat(a,n);
printf("\nMang dao la :");
_mang(a,n);
ng chng trnh con nhp 2 mang mt chiu A va B
o chep sang m
+ Phn t th nht cua mang A la phn t th nht cua mang
C.
+ Phn
C.
cua mang C.
+ Phn t th 2
C tip tuc nh
chep.
b/ a mang c sao chep ln man h

*
io.h>
io.h>
t[100];
m,n,k,i;
#include <std
#include <con
typedef int v
/*-----------------------------*/
void main()
{
clrscr();
vt a,b,c;
int
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 84
/*-----------------------------*/
tf("\nNhap vao n= :");
printf("a[%d]=",i);
++)
-----------*/
ntf("\nNhap vao m= :");
i);
");
tf("%6d", b[i]);
------------------------*/
huat toan chep thoa man dieu kien bai toan ra*/
if (k==n) for(i=k+1; i<=m; i++) c[i+k]=b[i];
else for(i=k+1; i<=n; i++) c[i+k]=a[i];
tch();
bt ky sau o sao chep sang mt mang khac
le c xp u day cua mang. Sau o

/* Nhap mang A*/
prin
scanf("%d",&n);
for (i=1; i<=n; i++)
{

scanf("%d", &a[i]);
}
printf("Day A da cho :\n");
for (i=1; i<=n; i
printf("%6d", a[i]);

/*------------------
/* Nhap mang B*/
pri
scanf("%d",&m);
for (i=1; i<=m; i++)
{
printf("b[%d]=",
scanf("%d", &b[i]);
}
printf("Day B da cho :\n
for (i=1; i<=m; i++)
prin
printf("\n");
/*-------------
/* T
if(m>n) k=n; else k=m;
for(i=1; i<=k;i++)
{
c[2*(i-1)+1]=a[i];
c[2*i]=b[i];
}


printf("\nDay C sau khi sao chep\n");
for (i=1; i<=m+n; i++)
printf("%6d", c[i]);
ge
}

5.Nhp vao mt mang
vi iu kin cac phn t
a mang sao chep ln man hnh.
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 85
* Chng trnh
clude <stdio.h>
int vt[100];
----------------------*/
luu toa do cot dong*/
,b;
:");
nf("%d",&n);
);
:\n");
6d", a[i]);
=1; i<=n; i++)
a[i]%2==1)
xCol--;
printf("\n");
printf("\Day sau khi dua phan tu le len truoc\n");
vit mt thu tuc nhp vao mt mang A gm n phn t Word,tnh
n t cui ) div 2. Ri vit 1ham tm kim
#in
#include <conio.h>
typedef
/*-------
void main()
{
int xCol,xLine;/*
int i,n;
vt a
clrscr();
printf("\nNhap vao n=
sca
for (i=1; i<=n; i++)
{
printf("a[%d]=",i);
scanf("%d", &a[i]
}
printf("Day da cho truoc
for (i=1; i<=n; i++)
printf("%
xCol=n;
xLine=1;
for(i
if (
{
b[xLine]=a[i];
xLine++;
}
else
{
b[xCol]=a[i];

}


for (i=1; i<=n; i++) printf("%6d", b[i]);

getch();
}

6.
x=(phn t gia + ph
x co trong mang A?.

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 86
* Chng trnh

#include <stdio.h>
#include <conio.h>
#define TRUE 1
#define FALSE 0

---------------------------*/

i;
r (i=1; i<=n; i++)
nf("%d", &a[i]);
-------*/
intf("Day da cho :\n");
++)
, x[i]);
ketqua,n;
; i<=n;i++)
f (x==a[i]) OK=TRUE;ketqua=OK;
ua;
-----------------------*/
("Nhap n=");scanf("%d",&n);

typedef int vt[100];
/*--
void nhap(vt a,int n)
{
int
fo
{
printf("a[%d]=",i);
sca
}
}
/*----------------------
void xuat(vt x,int n)
{
int i;
pr
for (i=1; i<=n; i
printf("%6d"
}
int kiemtra(int x)
{
int OK= FALSE,i;
int
vt a;
for(i=1
i
return ketq
}
/*------
main()
{
clrscr();
int n,x;
vt a;
do {
printf
}while (n<0);
nhap(a,n);
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 87
xuat(a,n);
if (n%2!=0)
1]+a[n])/2;
if (kiemtra(x)==TRUE) printf(" Tim thay %d co trong mang
,x);
else printf("\n khong co %d trong mang a",x);

nhp vao 1 gia tr n nhp vao 1 gia tr
gm n phn t kiu Integer. Hay tnh tng
n t m u tin n cui mang nu khng th
t nao co 3 ch s.
{
x=(a[n/2+

A"

}
else printf(" Khong co phan tu giua");
getch();
}


7. Vit mt thu tuc
(7n10) va 1 mang A
cac phn t t ph
tnh tng cac phn
* Chng trnh

#include <stdio.h>
#include <conio.h>
TRUE 1
def int vt[100];
---------*/

i;
ntf("a[%d]=",i);
d", &a[i]);
-----*/
xuat(vt x,int n)
rintf("Day da cho :\n");
i++)
-------------------*/
inhtong(vt a,int n)
#define
#define FALSE 0
type
/*--------------------
void nhap(vt a,int n)
{
int
for (i=1; i<=n; i++)
{
pri
scanf("%
}
}
/*------------------------
void
{
int i;
p
for (i=1; i<=n;
printf("%6d", x[i]);
}
/*----------
int t
{
int i,tong,j,OK;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 88
i=1; tong=0; OK=FALSE;
FALSE)&&(i<=n))
OK==FALSE)
=1; i<=n; i++)
if((a[i]>=100)&&(a[i]<=999)) tong=tong+a[i];
n tong;
-------------------------*/
"%d", &n);
while (n<7 || n>10);
ap(a,n);
Nhp mang a vi n phn t word (15n30). Sp xp mang a
n. Tnh P la tng cac phn t nao la s
nh phng, nu khng th thng bao: "Khng co phn t la s
while ((OK==
if(a[i]<0)
{
OK=TRUE;
for(j=i;j<=n;j++) tong=tong+a[j];
}
else i++;
if (
{
for(i

}
retur
}
/*----
main()
{
vt a;
int n;
clrscr();
do {
printf("Nhap gia tri n (7 - 10) : ");
scanf(
}
nh
xuat(a,n);
printf("\n");
printf(" ket qua tinh tong=%d",tinhtong(a,n));
getch();
}

8.
theo th t tng d
ch
chnh phng".
K = 00 . Gi y : K la s chnh phng nu phn le (Hay vit 1 ham
ng phng phap xp x). tnh cn bc 2 b

* Chng trnh

#include <stdio.h>
#include <conio.h>
#include <math.h>
TRUE 1 #define
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 89
#define FALSE 0
typedef int vt[100];
---------*/

i;
ntf("a[%d]=",i);
d", &a[i]);
-----*/
xuat(vt x,int n)
nt i;
;
or (i=1; i<=n; i++)
d", x[i]);
-----------*/
d Sapxep(vt a,int n)
i++)
(j=i+1;j<=n;j++)
(a[i]>a[j])
am = a[i];
kiemtra(int n)
nt i; int kt;
int)sqrt(n); i++)
n) kt=TRUE;else kt=FALSE;
nhtong(vt a,int n)
FALSE;
/*--------------------
void nhap(vt a,int n)
{
int
for (i=1; i<=n; i++)
{
pri
scanf("%
}
}
/*------------------------
void
{
i
printf("Day da cho :\n")
f
printf("%6
}
/*------------------

voi
{
int i,j,tam;
for(i=1;i<=n-1;
for
if
{
t
a[i] = a[j];
a[j] = tam;
}
}
int
{
i
for(i=1; i<=(
if (i*i ==
return kt;
}
void Ti
{
int p=0,OK,i;
OK=
for(i=1;i<=n;i++)
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 90
if(kiemtra(a[i])==TRUE)
{
p=p+a[i];
RUE;
}
ALSE)printf(" Khong co phan tu so chinh phuong");
(" ket qua tong la=%d",p);
ap gia tri n (15 - 30) : ");
d", &n);
|| n>30);

ntf("\n");
pxep(a,n);
nh nhp day a gm k s nguyn ( 10 k 25) la
man hnh cac thng tin sau:
y s a
c s dng cua a.
xp th t tng dn
OK=T

if (OK==F
printf
}

main()
{
clrscr();
int n;
vt a;
do {
printf("Nh
scanf("%
} while (n<15
nhap(a,n);
xuat(a,n);
pri
Sa
xuat(a,n);
printf("\n");
Tinhtong(a,n);
getch();
}

9. Vit chng tr
a
1
,a
2
,...a
k
. Xut ra
+ ao th t da
+ Tng, tch ca
+ Day a sau khi sp

* Chng trnh
#include <stdio.h>
<conio.h>
def int vt[100];
---------*/

i;
#include
#include <math.h>
type
/*--------------------
void nhap(vt a,int k)
{
int
for (i=1; i<=k; i++)
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 91
printf("a[%d]=",i);
d", &a[i]);
---------------------------*/
t i;
=1; i<=k; i++)
-----------------------------*/
i;
\n Mang sau khi dao");
) printf("%6d", a[i]);
-----------*/
h(vt a,int k)
tongduong=0;

cac phan tu duong cua day so=%d\n",tongduong);
tu duong cua day so=%d\n",tichduong);
----------------*/
d Sapxep(vt a,int k)
i++)
(j=i+1;j<=k;j++)
(a[i]>a[j])
am = a[i];
j];
tam;
scanf("%
}
}
/*--
void xuat(vt x,int k)
{
in
for (i
printf("%6d", x[i]);
}
/*
void Dao_mang(vt a,int k)
{
int
printf("
for (i=k; i>=1;i--
}
/*------------------
void Tong_tic
{
int i;
int tichduong=1;
int
for (i=1; i<=k;i++)
if (a[i]>0)
{
tongduong+=a[i];
tichduong=tichduong*a[i];
}
printf("\nTong
printf("Tich cac phan
}
/*-------------
voi
{
int i,j,tam;
for(i=1;i<=k-1;
for
if
{
t
a[i] = a[
a[j] =
}
}
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 92
main()
{
clrscr();
int k;
vt a;
printf("nhap k=");
;
,k);
g_tich(a,k);
intf("\n");
rintf("\Mang sau khi sap xep tang dan");

cp n x m. Sau o in ma trn a nhp ln
scanf("%d",&k)
nhap(a,k);
xuat(a,k);
Dao_mang(a
Ton
pr
Sapxep(a,k);
p
xuat(a,k);
getch();
}

I. MANG 2 CHIU I

1. Nhp mt ma trn
man hnh.

* Chng trnh

/*Nhap xuat mang 2 chieu */
stdio.h>
---------------*/
ap(int A[MAX][MAX],int n, int m)
f("Nhap ma tran A\n ");
for (i=0; i<n; i++)
for (j=0; j<m; j++)
scanf("%d",&(A[i][j]));
----------------------*/
Xuatmatran(int A[MAX][MAX], int n, int m, char ch)
#include <
#include <conio.h>
#define MAX 100
/*-----------------------
void nh
{
int i,j;
print


{
printf("A[%d,%d] = ", i, j);

}

}
/*---------------------
void
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 93
int i, j;

printf("\nMa tran %c : ", ch);
or (i=0; i<n; i++)
n");
for(j=0; j<m; j++)
"%3d ",A[i][j]);
-----*/
[MAX][MAX];
"nhap n=");
scanf("%d", &n);

Xuatmatran(A, n, m, 'A');
cp n x m bng phng phap RANDOM. Sau o
n man hnh.
f
{
printf("\

printf(
}
}
/*-----------------------
void main()
{
clrscr();
int A[MAX][MAX], B
int i,j,n,m;
printf(

printf("nhap m=");
scanf("%d", &m);
nhap(A,n,m);

getch();
}
2. Nhp mt ma trn
in ma trn a nhp l
* Chng trnh
clude <stdio.h>
conio.h>
---------------*/
ap(int A[MAX][MAX],int n, int m)
i=0; i<n; i++)
for (j=0; j<m; j++)
{
A[i][j] = random(100)+2;

/*Nhap xuat mang 2 chieu */
#in
#include <
#include <stdlib.h>
#define MAX 100
/*-----------------------
void nh
{
int i,j;
printf("Nhap ma tran A\n ");
for (


/* Khoi tao mang ngau nhien */
randomize();

}
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 94

}
/*-------------------------------------------*/
Xuatmatran(int A[MAX][MAX], int n, int m, char ch)
ntf("\nMa tran %c : ", ch);
or (i=0; i<n; i++)
n");
for(j=0; j<m; j++)
"%3d ",A[i][j]);
-----*/
[MAX][MAX];
"nhap n=");
scanf("%d", &n);
printf("nhap m=");
Xuatmatran(A, n, m, 'A');

}

nh con nhp mt ma trn vung A (nguyn)
p n x n. Sau o thc hin cac cng vic sau:
n A
n t ln nht cua tng hang cua ma trn
n ng cheo chnh.
void
{
int i, j;

pri
f
{
printf("\

printf(
}
}
/*-----------------------
void main()
{
clrscr();
int A[MAX][MAX], B
int i,j,n,m;
printf(


scanf("%d", &m);
nhap(A,n,m);
getch();
3. Dung chng tr
c
+ Chuyn v ma tr
+ Sp xp cac ph
chuyn ln tr
+ a cac thng tin ra man hnh
* Chng trnh

#include <stdio.h>
--------------*/
ap(int A[MAX][MAX],int n)
f("Nhap ma tran A\n ");
#include <conio.h>
#define MAX 100
/*------------------------
void nh
{
int i,j;
print
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 95
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
scanf("%d",&(A[i][j]));
---------------------*/
Xuatmatran(int A[MAX][MAX], int n, char ch)
ntf("\nMa tran %c : ", ch);
or (i=1; i<=n; i++)
printf("\n");
n; j++)
[i][j]);

nt A[MAX][MAX],int n)
x,L,i,j;
+)
[i][1];L=1;

max=A[i][j];
}
][i];
nt E[MAX][MAX],int n)
i=1; i<=n; i++)
r(j=i; j<=n; j++)

i][j]=E[j][i];


{
printf("A[%d,%d] = ", i, j);

}

}
/*----------------------
void
{
int i, j;

pri
f
{

for(j=1; j<=
printf("%3d ",A
}
}
void Duongcheochinh(i
{
int ma
for(i=1; i<=n; i+
{
max=A
for(j=2; j<=n; j++)
if (max<A[i][j])
{

L=j;

A[i][L]=A[i
A[i][i]=max;
}
}
void chuyenvi(i
{
int i,j,tam;
for(
fo
{
tam=E[i][j];
E[
E[j][i]=tam;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 96
}
}
/*----------------------------*/
[MAX][MAX];
("\n");
chuyen vi");
ran(A, n,'A');
printf("\n");
printf("Cac phan tu lon nhat duoc chuyen len duong cheo
Vit 1 thu tuc nhp vao 1 gia tr n(3n5) va 1 matrn
ax
i
la phn t ln
i tnh tng
i S ra h m bt ky(vit thu
void main()
{
clrscr();
int A[MAX][MAX], B
int i,j,n,m;
printf("nhap n=");
scanf("%d", &n);
nhap(A,n);
Xuatmatran(A, n,'A');
printf
chuyenvi(A,n);
printf("Ma tran sau khi
Xuatmat


chinh ");
Duongcheochinh(A,n);
Xuatmatran(A, n,'A');
getch();
}

4.
A(n,n). Tnh vect x ma x
i
=Max
i
- Min
i
( vi M
nho nht hang i). R nht cua hang i, Min
i
la phn t
S= tng cac phn t vect x ri
tuc quy i).
* Thut toan:

+ Khai bao 1 mang 2 chiu, 1 mang mt chiu
mang 2 chiu
it mt 1 xut mang 2 chiu
vect
vect

+ Vit 1 ham nhp
+ V
+ Vit mt ham tnh
+ Vit ham tnh tng
+ Vit ham i c s

* Chng trnh

#include <stdio.h>
conio.h>
--------------*/
#include <
#include <math.h>
#define MAX 100
/*------------------------
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 97
void nhap(int A[MAX][MAX],int n)
f("Nhap ma tran A\n ");
or (i=1; i<=n; i++)
printf("A[%d,%d] = ", i, j);
%d",&(A[i][j]));
}
---------------------*/
Xuatmatran(int A[MAX][MAX],int n, char ch)
tf("\nMa tran %c : ", ch);
or (i=1; i<=n; i++)
for(j=1; j<=n; j++)
i][j]);
-----------------------------*/
MAX],int A[MAX][MAX],int n)
,j,max,min,L,k;
A[i][1];
(j=1;j<=n;j++)
nhat cua hang i*/
(min>A[i][j]) min=A[i][j]; /* phan tu nho nhat cua hang i*/

n Vecto to sau khi tinh");
=1; i<=n; i++) printf("%7d ",X[i]);
----------------------------------------*/
Tong(int X[MAX],int n)
{
int i,j;
print
f
for (j=1; j<=n; j++)
{

scanf("

}
/*----------------------
void
{
int i, j;

prin
f
{
printf("\n");

printf("%3d ",A[
}
}
/*--------------
void Tinh(int X[
{
int i
for (i=1;i<=n;i++)
{
max=
min=A[i][1];
for
{
if(max<A[i][j]) max=A[i][j]; /* phan tu lon
if
}
X[i]=max-min;
}
printf("\
for (i
}
/*------------
int
{
int Sum,i;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 98
Sum=0;
i<=n; i++) Sum+=X[i];
-----------------------------------------*/
s,int cs)
,13,14,15};
gt[i]=s%cs;
s=s/cs;
);
if (gt[i]<10) printf("%d",gt[i]);
f("%c",gt[i]+55);
ht by NGUYEN VAN NGUYEN KHOA CNTT-DTVT\n");
,cs;
ia tri n (3 - 5) : ");
>5);
(X,n);
printf("\n");
printf(" ket qua cua tong S=%d\n",s);
Du vung A cp
c hin cac cng vic sau:
for(i=1;
return Sum;
}
/*--
void doics(int
{
int i=1;
int gt[]={0,1,2,3,4,5,6,7,8,9,10,11,12
if (s>0)
{


doics(s,cs

else print
}
}

void main()
{
clrscr();
int A[MAX][MAX];
int X[100];
printf(" Copyrig
int i,j,n,h,c,max,min,k,s
do {
printf("Nhap g
scanf("%d", &n);
} while (n<3 || n
nhap(A,n);
Xuatmatran(A,n, 'A');
printf("\n");
Tinh(X,A,n);
s=Tong


printf("Nhap co so can ban muon doi=");
scanf("%d",&cs);
doics(s,cs);
getch();
}

5. ng chng trnh con nhp mt ma trn thc
n x n. Sau o th
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 99
+ Sp xp cac phn t ln nht cua hang ln trn ng
ct cui cua
qua a thc hin ln man hnh
Thut toan:
cheo chnh.
+ Sp xp cac phn t nho nht cua hang vao
ma trn.
+ a cac kt
*
2 chiu
ma trn nxn
hn t ln nht ng cheo chnh
+ Khai bao kiu mang
+ Vit ham nhp mt
+ Vit ham tm p
+ Ham phn t nho nht ct cui cua ma trn
* Chng trnh

#include <stdio.h>
--------------*/
ap(float A[MAX][MAX],int n)
f("Nhap ma tran A\n ");
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
scanf("%f",&(A[i][j]));
---------------------*/
Xuatmatran(float A[MAX][MAX], int n, char ch)
ntf("\nMa tran %c : ", ch);
or (i=1; i<=n; i++)
printf("\n");
n; j++)
[i][j]);

loat A[MAX][MAX],int n)
x,L,i,j;
+)
#include <conio.h>
#define MAX 10
/*------------------------
void nh
{
int i,j;
print


{
printf("A[%d,%d] = ", i, j);

}

}
/*----------------------
void
{
int i, j;

pri
f
{

for(j=1; j<=
printf("%3f ",A
}
}
void Duongcheochinh(f
{
int ma
for(i=1; i<=n; i+
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 100
{
max=A[i][1];L=1;
for(j=2; j<=n; j++)
ax<A[i][j])
{
A[i][L]=A[i][i];
}
-------*/
han tu nho nhat vao cot cuoi cua matran*/
MAX][MAX],int n)
n,L,i,j;
i<=n; i++)
n-1; j>=1; j--)

in>A[i][j])
{
];
L=j;
,m;
;
nhat duoc chuyen len duong cheo
Duongcheochinh(A,n);
Xuatmatran(A, n,'A');
printf("\n");
if (m

max=A[i][j];
L=j;
}

A[i][i]=max;

}
/*---------------------
/* P
void NNCC(float A[
{
int mi

for(i=1;
for(j=
{
min=A[i][n];L=n;
if (m

min=A[i][j

}
A[i][L]=A[i][n];
A[i][n]=min;
}
}
void main()
{
clrscr();
float A[MAX][MAX], B[MAX][MAX];
int i,j,n
printf("nhap n=");
scanf("%d", &n);
nhap(A,n);
Xuatmatran(A, n,'A');
printf("\n")
printf("Cac phan tu lon
chinh ");


Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 101
printf("Cac phan nho nhat duoc chuyen ve cot cuoi ");
ac thng tin sau:
+ Ma trn A sau khi i hang 2 va hang 3 cho nhau.
ac toa la tng cua cac ct tng ng cua
a la hiu gia phn t ln nht va nho
ng ng cua A.
ng cua X va Y, mdun cua X va mdun cua Y.
NNCC(A,n);
Xuatmatran(A, n,'A');
getch();
}

6. Vit chng trnh nhp ma trn thc c m x n la A
mxn
.
Xut ra man hnh c

+ Vect X co c
A, Vecto Y co cac to
nht trn cac ct t
+ Tch v h
* Chng trnh

#include <stdio.h>
conio.h>
--------------*/
ap(float A[MAX][MAX],int m, int n)
f("Nhap ma tran A\n ");
for (i=1; i<=m; i++)
for (j=1; j<=n; j++)
scanf("%f",&(A[i][j]));
---------------------*/
Xuatmatran(float A[MAX][MAX], int m, int n, char ch)
ntf("\nMa tran %c : ", ch);
or (i=1; i<=m; i++)
for(j=1; j<=n; j++)
tf("%0.1f ",A[i][j]);
#include <
#include <math.h>
#define MAX 100
/*------------------------
void nh
{
int i,j;
print


{
printf("A[%d,%d] = ", i, j);

}

}
/*----------------------
void
{
int i, j;

pri
f
{
printf("\n");

prin
}
}
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 102
/*------------------------------------------*/
MAX][MAX],int m, int n)
=1;i<m;i++)
r(j=1;j<=n;j++)
[3][j]=B[2][j];
tg;
--------------------*/
X],int m,int n)
r (j=1;j<=m;j++) X[i]= X[i]+B[j][i];
intf(" Vec to X co toa do la tong cac cot tuong ung cua ma

; i++) printf("%0.1f ",X[i]);
--------------------------------------------------*/
loat C[MAX][MAX],int m,int n)
k,i;
C[1][k];
(i=2;i<=m;i++)
) Max=C[i][k];
rintf("\nVec to Y co toa do la hieu cac phan tu max va min
A\n");
i++) printf("%7f ",Y[i]);
void doihang(float B[
{
int i,j;
float tg;

for(i
fo
{
tg=B[3][j];
B
B[2][j]=
}
}
/*--------
void vectoX(float X[100],float B[MAX][MA
{
int i,j;
for (i=1;i<=n;i++)
{
X[i]=0;
fo
}
printf("\n");
pr
tran A\n");
for (i=1; i<=n
}
/*--
void vectoY(float Y[100],f
{
int
float Max,Min;
for (k=1;k<=n;k++)
{
Max=C[1][k]; Min=
for
{
if (Max<C[i][k]
if (Min>C[i][k]) Min=C[i][k];
}
Y[k]=Max-Min;
}
p
cua cot
for (i=1; i<=n;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 103
}
/*----------------------------------------------------*/
)
;
"\n Tich vo huong cua 2 vec to X va Y\n");
odunY+=Y[i]*Y[i];
g binh phuong cua cac phan tu X=%0.1f\n",ModunX);
ntf("\Tong binh phuong cua cac phan tu Y=%0.1f",ModunY);
dun cua vec X=%0.1f",sqrt(ModunX));
ec Y=%0.1f",sqrt(ModunY));
-------------------------------*/
");
;
, 'A');
hi doi hang 2 va hang 3 cho nhau");
(A,m,n);
Xuatmatran(A, m, n, 'A');
vectoX(X,A,m,n);
vectoY(Y,A,m,n);

void Tichvohuong(float X[100],float Y[100],int n
{
int i
float ModunX=0;
float ModunY=0;
printf(
for(i=1; i<=n;i++) printf("%0.1f ",Y[i]*X[i]);
for(i=1; i<=n;i++)
{
ModunX+=X[i]*X[i];
M
}
printf("\nTon
pri
printf("\n Mo
printf("\n Modun cua v
}
/*---------------
void main()
{
clrscr();
float A[MAX][MAX];
float X[100];
float Y[100];
int i,j,n,m;
float tg;
printf("nhap m=
scanf("%d", &m);
printf("nhap n=")
scanf("%d", &n);
nhap(A,m,n);
Xuatmatran(A, m, n
printf("\n");
printf("ma tran sau k
doihang



printf("\n");
Tichvohuong(X,Y,n);
getch();
}

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 104
7. t chng trnh nhp ma trn nguyn vung n la A Vi
c thng tin sau:
co phai la ma trn i xng qua ng cheo
nh khng ( A
ij
= A
ji
,
i,j
)
bi 5 trn ng cheo phu cua A.
khi sp xp cac s trn hang 1 theo th t
nxn
(5n 9).
Xut ra man hnh ca
+ Ma trn A
ch
+ m s m, s
+ Ma trn A sau
giam dn.
* Chng trnh
clude <conio.h>
math.h>
----------------*/
int n)
i=1; i<=n; i++)
for (j=1; j<=n; j++)
{
}
-----------*/
X][MAX],int n, char ch)
;
(i=1; i<=n; i++)

printf("%3d ",A[i][j]);
----------------------*/
[MAX],int n)
for (i=1; i<=n; i++)

#include <stdio.h>
#in
#include <
#define MAX 100
/*----------------------
void nhap(int A[MAX][MAX],
{
int i,j;
printf("Nhap ma tran A\n ");
for (


printf("A[%d,%d] = ", i, j);
scanf("%d",&(A[i][j]));


}
/*--------------------------------
void Xuatmatran(int A[MA
{
int i, j;

printf("\nMa tran %c : ", ch)
for
{
printf("\n");
for(j=1; j<=n; j++)

}
}
/*---------------------
void kiemtra(int B[MAX]
{
int i,j,dem;
dem=1;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 105
for (j=1; j<=n; j++)
if(B[i][j]!=B[j][i]) dem=2;
if (dem==1) printf("Ma tran A la ma tran doi xung qua duong
o chinh");
hong doi xung qua duong
o chinh");
id Count(int B[MAX][MAX],int n)
dem=0;
i=1;i<=n;i++)
(B[n-i+1][i]%5==0) k++;
u la=%d\n",dem);
intf("So boi 5 tren tren duong cheo phu la=%d\n",k);
-------------------*/
AX],int n)
g,i,j;
-1; i++)
j++)
1][i])
]=B[1][i];
n sau khi sap xep hang 1 theo thu tu giam
printf("\n");
for(j=1; j<=n; j++)
------------------------*/

che
else printf("Ma tran A la ma tran k
che

}
vo
{
int
int k=0,i;

for(
{
if(B[n-i+1][i]<0) dem++;
if
}
printf("So am tren tren duong cheo ph
pr
}
/*-----------------------
void SortDec(int B[MAX][M
{
int t
for (i=1; i<=n
for (j=i+1; j<=n;
if(B[1][j]>B[
{
tg=B[1][j];
B[1][j
B[1][i]=tg;
}
printf("\n Ma tra
dan");
for (i=1; i<=n; i++)
{


printf("%3d ",B[i][j]);
}
}

/*------------------
void main()
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 106
clrscr();
int A[MAX][MAX];
int i,j,n,m;
do {
printf("Nhap gia tri n (5 - 9) : ");

9);
n, 'A');
(A,n);
printf("\n");
Count(A,n);
g
Vi
).
a ma trn chuyn v cua A
+ Vect X co cac toa la tng cua cac ct tng ng
m, toa dng cua X
scanf("%d", &n);
} while (n<5 || n>
nhap(A,n);
Xuatmatran(A,
printf("\n");
kiemtra


SortDec(A,n);
etch();
}

8. t chng trnh nhp ma trn nguyn, vung cp n la
A
nxn
(n9
Xut ra man hnh cac thng tin sau:
+ Ma trn B l

cua B
+ m s toa
* Chng trnh

#include <stdio.h>
#include <conio.h>
#include <math.h>
X 100
--------*/
],int n)
;
(j=1; j<=n; j++)
{
printf("A[%d,%d] = ", i, j);
-----------*/
X][MAX],int n, char ch)
#define MA
/*------------------------------
void nhap(int A[MAX][MAX
{
int i,j
printf("Nhap ma tran A\n ");
for (i=1; i<=n; i++)
for


scanf("%d",&(A[i][j]));
}

}
/*--------------------------------
void Xuatmatran(int A[MA
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 107
{
int i, j;
printf("\nMa tran %c : ", ch);
printf("\n");

-----------------------*/
X][MAX],int n)

j++)
m=B[i][j];
-----------------------*/
vectoX(int X[100],int B[MAX][MAX],int n)
(i=1;i<=n;i++)
=n;j++) X[i]= X[i]+B[j][i];
intf("\n");
printf(" Vec to X co toa do la tong cac cot tuong ung cua ma
"%7d ",X[i]);
---------------------------*/
],int n)
(i=1;i<=n;i++)
f(X[i]>=0) count2++;
for (i=1; i<=n; i++)
{

for(j=1; j<=n; j++)
printf("%3d ",A[i][j]);
}
}
/*-------------------
void chuyenvi(int B[MA
{
int i,j,tam;
for(i=1; i<=n; i++)
for(j=i; j<=n;
{
ta
B[i][j]=B[j][i];
B[j][i]=tam;
}
}
/*-------------------
void
{
int i,j;
for
{
X[i]=0;
for (j=1;j<
}
pr

tran A\n");
for (i=1; i<=n; i++) printf(
}

/*---------------
void Count(int X[100
{
int count1=0,i;
int count2=0;
for
{
if(X[i]<0) count1++;
i
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 108
}
nt1);
a do duong cua Vecto X la %d",count2);
------------------------*/
);
;
;
n Ma tran chuyen vi cua");
Xuatmatran(A,n, 'A');
vectoX(X,A,n);
man hnh cac thng tin sau:
+ m s cac s m, s cac s bi 5 trn ng cheo chnh
+ Ma trn A, sau khi sp xp cac s trn hang 1 theo th
qua phai.
printf("\nSo toa do am cua Vecto X la %d\n",cou
printf("So to
}

/*------------------
void main()
{
clrscr(
int A[MAX][MAX];
int X[100];
int i,j,n,m;
do {
printf("nhap n=");
scanf("%d", &n)
} while (n>9);
nhap(A,n);
Xuatmatran(A,n, 'A');
printf("\n");
chuyenvi(A,n)
printf("\


Count(X,n);
getch();
}

9. Vit chng trnh nhp ma trn nguyn, vung cp n la A
nxn
(n 9).Xut ra
+ Ma trn A co phai la ma trn i xng qua ng cheo
chnh khng (A
ij
= A
ji
,
i,j
).

cua ma trn A

t giam dn t trai

* Chng trnh

#include <stdio.h>
#include <conio.h>
#include <math.h>
X 100
--------*/
],int n)
#define MA
/*------------------------------
void nhap(int A[MAX][MAX
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 109
int i,j;
(j=1; j<=n; j++)
{
printf("A[%d,%d] = ", i, j);
-------------------------------------------*/
t n, char ch)
i, j;
", ch);
printf("\n");

------------------------------------*/
][MAX],int n)
; i++)
[j][i]) dem=2;
if (dem==1) printf("Ma tran A la ma tran doi xung qua duong
o chinh");
hong doi xung qua duong
o chinh");
id Count(int B[MAX][MAX],int n)
dem=0;
i=1;i<=n;i++)
(B[i][i]%5==0) k++;
printf("Nhap ma tran A\n ");
for (i=1; i<=n; i++)
for


scanf("%d",&(A[i][j]));
}

}
/*
void Xuatmatran(int A[MAX][MAX],in
{
int

printf("\nMa tran %c :
for (i=1; i<=n; i++)
{

for(j=1; j<=n; j++)
printf("%3d ",A[i][j]);
}
}
/*-------
void kiemtra(int B[MAX
{
int i,j,dem;
dem=1;
for (i=1; i<=n
for (j=1; j<=n; j++)
if(B[i][j]!=B

che
else printf("Ma tran A la ma tran k
che

}
vo
{
int
int k=0,i;

for(
{
if(B[i][i]<0) dem++;
if
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 110
}
printf("So am tren tren duong cheo chinh la=%d\n",dem);
intf("So boi 5 tren tren duong cheo chinh la=%d\n",k);
-------------------*/
AX],int n)
g,i,j;
-1; i++)
j++)
1][i])
]=B[1][i];
n sau khi sap xep hang 1 theo thu tu giam
printf("\n");
for(j=1; j<=n; j++)
------------------------*/
<=9) : ");

n, 'A');
(A,n);
printf("\n");
Count(A,n);
SortDec(A,n);
}

pr
}
/*-----------------------
void SortDec(int B[MAX][M
{
int t
for (i=1; i<=n
for (j=i+1; j<=n;
if(B[1][j]>B[
{
tg=B[1][j];
B[1][j
B[1][i]=tg;
}
printf("\n Ma tra
dan");
for (i=1; i<=n; i++)
{


printf("%3d ",B[i][j]);
}
}

/*------------------
void main()
{
clrscr();
int A[MAX][MAX];
int i,j,n,m;
do {
printf("Nhap gia tri n (
scanf("%d", &n);
} while (n>9);
nhap(A,n);
Xuatmatran(A,
printf("\n");
kiemtra



getch();
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 111

10.Tao mt
37 38 39 28 9
20 35 42 41 40 29 10
33 32 31 30 11
16 15 14 13 12
ma trn xoan co dang nh sau:
V du ma trn cp (n x m):
N=6 va n=7 cho ta dang nh sau:
1 2 3 4 5 6 7
22 23 24 25 26 27 8
21 36
19 34
18 17
* Chng trnh

#include <stdio.h>
;
\n Nhap vao so hang cua ma tran xoan m=");
d",&m);
so cot cua ma tran xoan n=");


m;i++)

pr *%d la ",m,n);
\n\n\n");
n)&&!(a[i][j+1]))
;
tf("%d",a[i][j]);
00);
m)&&!(a[i+1][j]))
#include <conio.h>
#include <dos.h>
void main()
{
int i,j,m,n,k,dem
int a[30][30];
clrscr();
printf("
scanf("%
printf("\n Nhap vao
scanf("%d",&n);
k=m*n;
dem=1;
for(i=0;i<=
for(j=0;j<=n;j++) a[i][j]=0;
i=1;
j=0;
clrscr();
intf(" Na tran xoan cua cap %d
printf("\n
do
{
while ((j<
{
j+=1;
a[i][j]=dem;
dem+=1
gotoxy(j*4,i*2);
prin
delay(3
}
while ((i<
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 112
{
i+=1;
a[i][j]=dem;
dem+=1;
tf("%d",a[i][j]);
0);
)&&!(a[i][j-1]))
+=1;
ntf("%d",a[i][j]);
);
&!(a[i-1][j]))
1;
j*4,i*2);
;
}
}
mt ma trn A(n,n) vi 5 n 10 ri xoa i
hang va 1 ct bt ky. Hay tnh vect X ma X
I
= a
i
+b
j
( a
i
la
ua hang I va b
j
la phn t ln nht cua ct j,
gotoxy(j*4,i*2);
prin
delay(30
}
while ((j>1
{
j-=1;
a[i][j]=dem;
dem
gotoxy(j*4,i*2);
pri
delay(300
}
while ((i>1)&
{
i-=1;
a[i][j]=dem;
dem+=
gotoxy(
printf("%d",a[i][j])
delay(300);


while (dem<=k);
getch();
}

11. Hay nhp vao
1
phn t ln nht c
ct j ng vi phn t nho nht cua hang I).
* Thut toan:

+ Kha
+ Co co th cho nhp ngu nhin)
+ Thu

oan chng trnh xoa hang}
A[j,i]=A[j+1,i];
Cho i=1 n n lam {oan chng trnh xoa ct}
i bao mang
th vit ham nhp ma trn (
t toan xoa hang, xoa ct bt ky
. oc hang (h), oc ct (c)
Cho i=1 n n lam {
Cho j=h n n-1 lam
Gan
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 113
Cho j=c n n lam
A[i,j]=A[i,j+1];
n=n-1;
+ Thu ma X
I
= a
i
+b
j
( a
i
la phn t ln
nht
j
la phn t ln nht cua ct j, ct j ng
vi p
Beg
hai gia tri a,b};

axInt;
[i,j] then
Phan tu lon nhat cua hang i}
in
A[i,j];
=j; {Tim duoc cot j la cot co phan tu
max2<A[j,k] then
Max2=A[j,k];
X[i]=max1+max2;
End;
t toan tnh vect X
cua hang I va b
hn t nho nht cua hang I).
For i=1 to n do
in
{Doan chuong trinh tim
Max1=-MaxInt;
Max2=-M
Min=MaxInt;
For j=1 to n do
Begin
If max1<A
max1:=A[i,j];{
If Min>A[i,j] then
Beg
min=
k
nho nhat hang i}
End;
End;
For j=1 to n do
If

End;


* Chng trnh

#include <stdio.h>
fine MAX 100
------------------------------*/

f("Nhap ma tran A\n ");
printf("A[%d,%d] = ", i, j);
#include <conio.h>
#include <math.h>
#de
/*--------
void nhap(int A[MAX][MAX],int n)
{
int i,j;
print
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
{

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 114
scanf("%d",&(A[i][j]));
}
}
/*-------------------------------------------*/
id Xuatmatran(int A[MAX][MAX],int n, char ch)
%c : ", ch);
rintf("\n");
for(j=1; j<=n; j++)
-----------------------------------------*/
AX][MAX];
in,k;
: ");

hang nao");
h);
t nao");
;
---------------------------------*/
xoa hang va xoa cot*/
ong trinh xoa hang*/
a cot*/
1; i<=n;i++) /* Doan chuong trinh xoa cot*/
-----------------------------------*/
vo
{
int i, j;

printf("\nMa tran
for (i=1; i<=n; i++)
{
p

printf("%3d ",A[i][j]);
}
}
/*-----------
void main()
{
clrscr();
int A[M
int X[100];
int i,j,n,h,c,max1,max2,m
do {
printf("Nhap gia tri n (5 - 10)
scanf("%d", &n);
} while (n<5 || n>10);
printf("Ban muon xoa
scanf("%d", &
printf("Ban muon xoa co
scanf("%d", &c)
nhap(A,n);
Xuatmatran(A,n, 'A');
printf("\n");
/*-------------------
/* Doan chuong trinh
for (i=1; i<=n;i++) /* Doan chu
for (j=h;j<=n-1;j++)
A[j][i]=A[j+1][i];
/* Bat chuong trinh xo
for (i=
for (j=c; j<=n;j++)
A[i][j]=A[i][j+1];
n--;
/*-----------------
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 115
printf("\nMa tran sau khi xoa: ");/* Xuat ma tran sau khi xoa
)
rintf("%3d ",A[i][j]);
----------------------------------------*/
+)
tim hai gia tri a,b*/
x1=-32,768;
j=1;j<=n;j++)

n>A[i][j])

tu nho nhat cua hang i*/
han tu nho nhat hang i*/
printf("\n V to sau khi tinh");
for (i=1; i<=n; i++) printf("%7d ",X[i]);
------------------------*/
getch
}

12. Cho
2. n A theo th t n
cua t ng hang( phng phap chon trc tip)
V={V
1
,V
2
, V
n
} (I=1..n) va V
I
la tch v
hng cua hang I vi ct j( ct j ng vi phn t
u tin cua hang I)


5. In A,V,P
h va c*/
for (i=1; i<=n; i++)
{
printf("\n");
for(j=1; j<=n; j++
p
}
/*------------
for (i=1;i<=n;i+
{
/* Doan chuong trinh
ma
max2=-32,768;
min=32,768;
for (
{
if(max1<A[i][j]) max1=A[i][j]; /* phan tu lon nhat cua hang i*/
if(mi
{
min=A[i][j]; /* phan
k=j;/* Tim duoc cot j la cot co p
}
}
for(j=1; j<=n; j++)
if (max2<A[j][k]) max2=A[j][k];
X[i]=max1+max2;
}


/*----------------------------
();
mt hng Max=8, va n=7.
1. Nhp mt ma trn vung kiu integer B(8,8) ri xoa i
mt hang,mt ct tuy y co ma trn A(n,n).
Hay sp xp cac hang cua ma tr tng d
ng t
3. Hay tnh vecto
ij
A
ln nht
4. Tnh

= P
=
n
i
V
i 1

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 116

*Thut toan:
1 mang 1 chiu, 1 mang 2 chiu

n n
j:=cot n n
o th t tng dn cua tng
tng
m h
void swap (int *x, int *y)

p = *x;
*x = *y;
y = tmp;
o x[i]:=x[i]+A[i,j];
an bang Selection*)
n-1
oanvi(x[i],x[j]);
n swap(&A[j,k],&A[j-1,k]);
+ T
1;
n n If Max<A[i,j]
];
+ Khai bao mang 2 mang:
+ Xoa hang ct bt ky
Cho i=1 to n
Cho j=hang n n-1
a[j,i]:=A[j+1,i];
Cho i:=1
Cho
a[i,j]:=A[i,j+1];
n:=n-1;
End;
+ Sp xp chon trc tip the
hang
ha oan v
{
int tmp;
tm
*
}

Begin
cho i=1 n n
Begin
x[i]:=0;
For j:=1 to n d
End;
(* Sap xep tang d
cho i=1 n
cho j=i+1 n n
if X[i]>X[j]
Begin
h
cho k=1 n
End;
End;
nh tich vec t:
For i=1 to n do
Begin
Max=A[i,1]; L=
For j=2
Begin
Max=A[i,j
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 117
L=j;
;
n V[i]=V[i]+A[i,j]*A[j,L];
Tnh P
=P+V[i];
End
V[i]=0;
Cho j=1 n
+
P=0;
cho i=1 n n P
* Chng trnh

#include <stdio.h>
#include <conio.h>
#include <math.h>
X 100
--------*/
],int n)
;
(j=1; j<=n; j++)
{
}
-------------------------------------------*/
t n, char ch)
i, j;
", ch);
printf("\n");

-----------------------------------*/
Tonghang(int X[MAX],int A[MAX][MAX],int n)
i=1;i<=n;i++)
r(j=1;j<=n;j++) X[i]+=A[i][j];
#define MA
/*------------------------------
void nhap(int A[MAX][MAX
{
int i,j
printf("Nhap ma tran A\n ");
for (i=1; i<=n; i++)
for

printf("A[%d,%d] = ", i, j);
scanf("%d",&(A[i][j]));

}
/*
void Xuatmatran(int A[MAX][MAX],in
{
int

printf("\nMa tran %c :
for (i=1; i<=n; i++)
{

for(j=1; j<=n; j++)
printf("%3d ",A[i][j]);
}
}
/*-----------------
void
{
int i,j;
for(
{
X[i]=0;
fo
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 118
}
printf("\nVec to X co toa do\n ");
r (i=1; i<=n; i++) printf("%7d ",X[i]);
----------------------------*/
nt *x, int *y)
nt tmp;
----------*/
Sap xep cac hang theo thu tu tang dan cua tong cac hang*/
-----------------------------------------*/
A[MAX][MAX],int n)
j,k,tam;
)
(X[i]>X[j])
{
}
---------------------------------------*/
d Tichvohuong(int X[MAX],int A[MAX][MAX],int n)
j<=n;j++)
x<A[i][j])
=j;
i]=0;
i voi cot j\n
fo
}
/*-----------
void swap (i
{
i
tmp = *x;
*x = *y;
*y = tmp;
}
/*----------------------------------------------
/*
/*---------------

void sapxep(int X[MAX],int
{
int i,
for (i=1; i<=n-1; i++
for (j=i+1; j<=n; j++)
if

swap(&X[i],&X[j]);
for(k=1;k<=n; k++) swap(&A[j][k],&A[j-1][k]);

}
/*-----------------
voi
{
int i,j,L,max;
for(i=1;i<=n;i++)
{
max=A[i][1];L=1;
for(j=2;
if(ma
{
max=A[i][j];
L
}
X[
for(j=1;j<=n;j++) X[i]+=A[i][j]*A[j][L];
}
printf("\nVec to X la tich vo huong cua hang
");
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 119
printf("Cot j ung voi phan tu co gia tri tuyet doi cua
rintf("lon nhat dau tien cua hang i\n ");
1; i<=n; i++) printf("%7d ",X[i]);
-------------*/
(i=1; i<=n;i++) P+=X[i];
ng vec to V la=%d",P);
---------------------------*/
max2,min,k;
i n : ");
&n);
nao");


------------------------*/
Doan chuong trinh xoa hang*/
A[j+1][i];
=c; j<=n;j++)
-;
----------------------------------------*/
hi xoa: ");/* Xuat ma tran sau khi xoa
i=1; i<=n; i++)
A[i][j]\n ");
p
for (i=
}
/*---------------------------
void TongP(int X[MAX],int n,int P)
{
int i;
P=0;
for
printf("\n To
}
/*-------------
void main()
{
clrscr();
int A[MAX][MAX];
int X[100];
int i,j,n,h,c,max1,
int P;
printf("Nhap gia tr
scanf("%d",
printf("Ban muon xoa hang
scanf("%d", &h);
printf("Ban muon xoa cot nao");
scanf("%d", &c);
nhap(A,n);
Xuatmatran(A,n, 'A');
printf("\n");
/*----------------------------
/* Doan chuong trinh xoa hang va xoa cot*/
for (i=1; i<=n;i++) /*
for (j=h;j<=n-1;j++)
A[j][i]=
/* Bat chuong trinh xoa cot*/
for (i=1; i<=n;i++) /* Doan chuong trinh xoa cot*/
for (j
A[i][j]=A[i][j+1];
n-
/*------------
printf("\nMa tran sau k
h va c*/
for (
{
printf("\n");
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 120
for(j=1; j<=n; j++)
("\nSap xep cac hang theo thu tu tang dan cua tong
hang cua\n");
TongP(X,n,P);
cp n va kim tra co phai
printf("%3d ",A[i][j]);
}
printf("\n");
Tonghang(X,A,n);
sapxep(X,A,n);
printf
cac
Xuatmatran(A,n, 'A');
Tichvohuong(X,A,n);

getch();
}
13. Vit chng trnh nhp ma trn A
la ma trn i xng khng?

*Thut toan:

Kim tra tnh i xng cua ma trn
bin i, j;
for (i=0; i<n; i++)
j++)
if(A[i][j] != A[j][i])
+ khai bao 2

for (j=0; j<n;

return 0;
return 1;

*Chng trnh:
clude <math.h>
conio.h>
-------------------------*/
,int n)
i=0; i<n; i++)
for (j=0; j<n; j++)
{
}

#include <stdio.h>
#in
#include <
#define MAX 100
/*---------------------
void nhap(int A[MAX][MAX]
{
int i,j;
printf("Nhap ma tran A\n ");
for (


printf("A[%d,%d] = ", i, j);
scanf("%d",&(A[i][j]));


}
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 121
/*----------------------------------------------*/
AX][MAX], int n, char ch)
;
(i=0; i<n; i++)

printf("%3d ",A[i][j]);
-----------------------*/
MAX],int n)
or (i=0; i<n; i++)
for (j=0; j<n; j++)
eturn 1;
--------------*/
X];
ntf("nhap n=");
nhap(A,n);
ran(A,n, 'A');
if (kiemtradoixung(A,n)) printf("\nMa tran do la doi xung");
else
printf("Ma tran do khong co doi xung");
etch();


void Xuatmatran(int A[M
{
int i, j;

printf("\nMa tran %c : ", ch)
for
{
printf("\n");
for(j=0; j<n; j++)

}
}
/*-----------------------
int kiemtradoixung(int A[MAX][
{
int i, j;
f

if(A[i][j] != A[j][i])
return 0;
r
}

/*--------------
void main()
{
clrscr();
int A[MAX][MAX], B[MAX][MA
int i,j,n,m;
pri
scanf("%d", &n);

Xuatmat



g
}



Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 122
Ph n VI : KI U XU CHU

1. Tm hiu cu phap va chc nng cua ham strcpy.

a.Khai bao

b.Cng dung: sao ch
char *strcpy(char *dest, const char *src);
ep mt xu ch vao xu ch khac
h>
tring.h>
g[100];
char *str1 = "Khoa Cong Nghe Thong Tin";
u phap va chc nng ham strcat.
dest, const char *src);
t xu ch vao 1 xu khac
.h>
stdio.h>
>
c = "Ngoai Ngu Hoa Khanh";
m";
st1);
strcat(st,blank);
strcat(st,c);
c. V du:
include <stdio. #
#include <s
#include <conio.h>

int main(void)
{
clrscr();
char strin

strcpy(string, str1);
printf("%s\n", string);
getch();
}

2. Tm hiu c
a.Khai bao
char *strcat(char *
b.Cng dung: Ni m
c. V du:

#include <string
#include <
#include <conio.h

int main(void)
{
clrscr();
char st[25];
char *blank = " ", *
char *st1 = "Trung Ta
strcpy(st,


printf("%s\n",st );
getch();
}
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 123


3. Tm hiu cu phap va chc nng cua ham strcmp
onst char*s2);
ng: So sanh 2 xu ch
m nu s1<s2
nu s1=s2
nu s1>s2
:
clude <string.h>
h>
s2;
ntf(" Nhap chuoi s2=");
ts(s2);
cu phap va chc nng cua ham strlen
a.Khai bao
t char *s);
dai cua xu ch
h>
clude <string.h>
io.h>
void)

ar *string = "Khoa Cong Nghe Thong Tin -Dien tu Vien
ong";
cu phap va chc nng cua ham strlwr
a.Khai bao
int strcmp(const char *s1, c
b.Cng du
+ Gia tr tra v s
+ Gia tr tra v =0
+ Gia tr tra v >0
c. V du
#in
#include <stdio.
#include <conio.h>
main()
{
char *s1,*
printf(" Nhap chuoi s1=");
gets(s1);
pri
ge
printf("%i",strcmp(s1,s2));
getch();
}

4. Tm hiu

size_t strlen(cons
b.Cng dung: Ly
c. V du:

#include <stdio.
#in
#include <con

int main(
{
clrscr();
ch
Th
printf("%d\n", strlen(string));
getch();
}

5. Tm hiu
a.Khai bao
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 124
char *strlwr(char *s);
u ch sang ch thng
c. V du:
h>
clude <string.h>
nio.h>
ring = "Borland International";
printf("chuoi truoc khi doi: %s\n", string);
strlwr(string);
etch();
hu tuc strupr
*s);
ch sang ch hoa
V du:
h>
clude <conio.h>
tring.h>
");
g);
/* converts string to upper case characters */
ptr = strupr(string);
getch();
Khai bao
*s, int ch, size_t n);
y t u thanh ky t ch
b.Cng dung: i x

#include <stdio.
#in
#include <co

int main(void)
{
clrscr();
char *st


printf("Chuoi sau khi doi: %s\n", string);
g
}

6. Tm hiu cu phap va chc nng cua t

a.Khai bao
char *strupr(char
b.Cng dung: i xu
c.
#include <stdio.
#in
#include <s

int main(void)
{
clrscr();
char *string, *ptr;
printf("Nhap chuoi vao
gets(strin


printf("%s\n", ptr);

}

7. Tm hiu cu phap va chc nng cua thu tuc strnset

a.
char *strnset(char
b.Cng dung: t n k
c. V du:
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 125

#include <stdio.h>
clude <conio.h>
tring.h>

ter = 'x';
printf("Chuoi truoc khi dat: %s\n", string);
strnset(string, letter, 13);
phap va chc nng cua thu tuc strnset
*s, int ch);
cac ky t cua s thanh ch
g.h>
onio.h>
printf(" Truoc khi dat: %s\n", string);
strset(string, symbol);
getch();
char *s, int c);
on tro ch n c nu khng tra v NULL
V du:
h>
lude <stdio.h>
#in
#include <s

int main(void)
{
clrscr();
char *string = "abcdefghijklmnopqrstuvwxyz";
char let


printf("Chuoi sau khi dat: %s\n", string);
getch();
}

8. Tm hiu cu
a.Khai bao
char *strset(char
b.Cng dung: t tt ca
c. V du:
clude <strin #in
#include <c
#include <stdio.h>
int main(void)
{
clrscr();
char string[10] = "123456789";
l = 'c'; char symbo


printf("Sau khi dat: %s\n", string);

}

9. Tm hiu cu phap va chc nng cua ham strnset

a.Khai bao
char *strchr(const
b.Cng dung: Tra v c
c.
#include <conio.
#inc
#include <string.h>
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 126

int main(void)
{
strchr(string, c);
r)
d\n", c, ptr-
else
printf("The character was not found\n");
char *s, int c);
n xut hin cui cung cua c trong s
nclude <string.h>
h>
clude <conio.h>
trrchr(string, c);
r)
d\n", c, ptr-
else
printf("The character was not found\n");

char string[15];
char *ptr, c = 'r';

strcpy(string, "This is a string");
ptr =
if (pt
printf("The character %c is at position: %
string);


getch();
}

10. Tm hiu cu phap va chc nng cua ham strnset

a.Khai bao
char *strrchr(const
l b.Cng dung: Tra v
c. V du:

#i
#include <stdio.
#in

int main(void)
{
char string[15];
char *ptr, c = 'r';

strcpy(string, "This is a string");
ptr = s
if (pt
printf("The character %c is at position: %
string);


getch();
}

Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 127
11. Tm hiu cu phap va chc nng cua ham strrev
Khai bao
s);

c. V du:

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

int main(void)
{
clrscr();
char *forward = "Hello Everybody";
printf(" Chuoi truoc khi dao: %s\n", forward);
strrev(forward);
printf("Chuoi sau khi dao: %s\n", forward);
getch();
}

12. Tm hiu cu phap va chc nng cua ham strstr

a.Khai bao
char *strstr(const char *s1, const char *s2);
b.Cng dung: Tm ln xut hin u tin cua xu con s2 trong
xu s1
c. V du:

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

int main(void)
{
clrscr();
char *str1 = "Borland International", *str2 = "nation",
*ptr;
ptr = strstr(str1, str2);
printf("The substring is: %s\n", ptr);
getch();
}


a.
char *strrev(char *
b.Cng dung: ao mt xu ch
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 128
13. Vit chng trnh nhp tn ban t ban phm, chng trnh vit tra li chao ban tn c
nhp t ban phm.
* Chng trnh

#include <stdio.h>
#include <conio.h>
#include <string.h>
void main()
{
char name[80];
clrscr();
printf("\nXin cho biet ten cua ban : ");
gets(name);
printf("Chao %s\n", name);
getch();
}
14. Vit chng trnh ao ngc xu ch (khng dung ham strrev):
V du : Nguyen Van Nguyen
Xu ao lai: Neyugn nav Neyugn
Hoc 123 -> 321

* Chng trnh

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

char * Daonguoc(char *s)
{
char *tam, i;
i = 0;
tam = (char *)malloc(strlen(s)+1);
while (i<strlen(s))
*(tam+i) = *(s + strlen(s) - i++ - 1);
*(tam+i) = 0;
return tam;
}

void main()
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 129
char *s1;
char *s;
clrscr();
printf("\nChuoi ban dau = ");
gets(s1);
s = Daonguoc(s1);
printf("\nChuoi dao nguoc = %s", s);
getch();
}

14. Vit chng trnh i ngc xu ch: Nu ta nhp t ban phm xu ch thng th chng
trnh i ra xu ch in hoa va ngc lai (khng dung ham strlwr, strupr)

* Chng trnh

#include <stdio.h>
#include <ctype.h>
#include <conio.h>
void main()
{
char s[100];
int i;
clrscr();
printf("\nNhap vao mot chuoi : ");
gets(s);
i = 0;
while (s[i] != 0)
{
if (isalpha(s[i]))
if (s[i] < 97)
s[i] += 32;
else
s[i] -= 32;
i++;
}
printf("\nChuoi bien thanh : %s", s);
getch();
}
15. Vit chng trnh nhp vao xu ch s va thng bao :
s t trong xu ch s
Cac ky t khac nhau cua s va tn s xut hin mi ky t khng phn bit ch hoa hay thng.
Kim tra s co phai la xu ch Palindrome khng?
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 130
V du chui Palin drome (Lewd I did live, evil did I dwel )

* Chng trnh

#include <string.h>
#include <stdio.h>
#include <conio.h>
#include <ctype.h>
/*--------------------------------------*/
int number_word(char *s)
{
int i=0, dem=0,L;
L=strlen(s);
while(i<L){
if(!isalpha(s[i]))
do {i++;} while(s[i]==' ');
else {
dem++;
do {i++;} while(s[i]!=' ');
}
}
return dem;
}
/*--------------------------------------*/
void tanso(char s[30])
{
char temp[30],c[2];
int i=0,j=0, d;
c[1]='\0';
temp[0]='\0';
while(i<=strlen(s)){
while(isspace(s[i]))i++;
if(strchr(temp,s[i])==NULL)
{
c[0]=s[i];
strcat(temp,c);}
i++;
}
printf("\n Trong xau co cac ky tu: %s",temp);
while(j<strlen(temp))
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 131
d=0;
for(i=0;i<=strlen(s);i++)
if(temp[j]==s[i]) d++;
printf("\n Ki tu %c xuat hien %i lan",temp[j],d);
++j;
}
}
/*--------------------------------------*/
void palindrome(char s[256])
{
int i=0,kt=1,n, L=strlen(s);
char temp[200],c[2];
c[1]='\0';
strcpy(temp," ");
while (i<L){
while(isspace(s[i]))i++;
c[0]=s[i];
strcat(temp,c);
i++;
}
i=1;n=strlen(temp);
while (i<=n/2){
if (temp[i]!=temp[n-i]){
printf("\n Khong phai la chuoi palindrome");
kt=0;
break;
}
else i++;
}
if (kt) printf("\n La chuoi palindrome");
}
/*--------------------------------------*/
void main()
{
char s[256],*s1;
while(1) {
clrscr();
printf("\nNhap vao xau ky tu:");
fflush(stdin);
gets(s);
clrscr();
printf("\Xau ky tu %s",s);
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 132
printf("\n Co %d tu trong xau ky ",number_word(s));
tanso(s);
palindrome(s);
printf("\n Press q or Q to exit");
if(!kbhit())
if (toupper(getch())=='Q') break;
}
}

16. Nhp 1 xu ky t (vd 1 cu th) hay xoa cac ky t trng ch
con mt ky t trng gia cac t.


* Chng trnh

#include <stdio.h>
#include <string.h>
#include <conio.h>
/* cat bo cac khong trong */
/*-------------------------------------------*/
char *khoangtrong(char *st)
{
char *vt;
while (vt = strstr(st, " ")) // 2 khoang trong
memmove(vt, vt+1, strlen(st) - (vt - st));
/*-------------------------------------------*/
/* vt la vi tri */
if (st[0] == ' ')
memmove(st, st+1, strlen(st) - 1);
if (st[strlen(st)-1] == ' ')
st[strlen(st)-1] = 0;
return st;
}
/*-------------------------------------------*/
void main()
{
char st[255];
clrscr();
printf("\nNhap cau tho co nhieu khoang trong : ");
gets(st);
khoangtrong(st);
printf("\nChuoi sau khi xoa cac khoang trong : ");
puts(st);
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 133
getch();
}

17. Vit chng trnh nhp vao xu ky t.sau o cho xu nay
chay trn man hnh t phai qua trai.

* Chng trnh
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <dos.h>
void main()
{
clrscr();
char st[255], i=0, length;
printf("\nNhap vao xau chu can chay ");
gets(st);
length = strlen(st);
while (!kbhit())
{
movetext(2, 1, 80, 1, 1, 1);
gotoxy(80, 1);
cprintf("%c", st[i++]);
delay(100);
i %= length;
}
getch();
}




















Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 134
Ph n VII : STRUCT VA UNION
1. Hay nhp danh sach 1 lp gm 45 sinh vin ( Nhp ho tn, ngay thang nm sinh va im 3
mn thi hoc ky Toan ,ly , Hoa). Hay tnh im trung bnh va xp loai cho hoc sinh. Sp
xp danh sach hoc sinh theo im trung bnh tng dn.

* Chng trnh
#include <conio.h>
#include <stdio.h>
#include <string.h>
#include <dos.h>
#include <math.h>
#include <stdlib.h>
/*-------------------------------------*/
typedef struct
{
char hoten[20],xl[6];
int namsinh;
float t,l,h,tb;
}ds;
/*-------------------------------------*/
void nhap(int n,ds *);
ds x[50];
int i,n;
/*-------------------------------------*/
void nhap(int n,ds *x)
{
int i;
float tl;
for(i=1;i<=n;i++)
{
printf("\n Vao so lieu nguoi thu %2d:",i);
printf("\n Ho va ten:");
scanf("%s",&x[i].hoten); strupr(x[i].hoten);
printf("\n nam sinh:");
scanf("%d",&x[i].namsinh);
printf("\nDiem tung mon");
tt:
printf("\nDiem toan :"); scanf("%f",&tl);x[i].t=tl;
printf(" Diem ly :"); scanf("%f",&tl);x[i].l=tl;
printf(" Diem hoa :"); scanf("%f",&tl);x[i].h=tl;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 135
x[i].tb=(x[i].t+x[i].l+x[i].h)/3;
if(x[i].tb<4.0) strcpy(x[i].xl,"kem");
if(x[i].tb<5.0 && x[i].tb>=4.0) strcpy(x[i].xl,"yeu");
if(x[i].tb<6.5 && x[i].tb>=5.0) strcpy(x[i].xl,"Trung
Binh");
if(x[i].tb<8.0 && x[i].tb>=6.5) strcpy(x[i].xl,"Kha");
if(x[i].tb<9.0 && x[i].tb>=8.0) strcpy(x[i].xl,"Gioi");
if(x[i].tb<=10.0 && x[i].tb>=9.0) strcpy(x[i].xl,"Xuat
sac");
if(x[i].tb>10)
{
putch(7);putch(7);
printf("nhap lai:");
goto tt;
}
}
}
/*-------------------------------------*/
void Xuat(int n,ds *x)
{
for(i=1;i<=n;i++)
{
printf("\n nguoi thu %2d:",i);
printf(" Ho va ten : %s",x[i].hoten);
printf("\nnam sinh : %d",x[i].namsinh);
printf("\n diem tung mon : %3.1f\t %3.1f\t
%3.1f",x[i].t,x[i].l,x[i].h);
printf("\n diem trung binh: %4.2f",x[i].tb);
printf("\n xep loai :%s",x[i].xl);
}
}
/*--------------------------------------------*/
void sapxep(int n,ds *x)
{
int j;
ds tam;
for(i=1; i<=n-1;i++)
for(j=i+1; j<=n;j++)
{
tam=x[i];
x[i]=x[j];
x[j]=tam;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 136
}
}
/*--------------------------------------------*/
main()
{
clrscr();
printf("\n so sinh vien:");
scanf("%d",&n);
nhap(n,x);
clrscr();
printf(" Danh sach truoc khi sap xep\n");
Xuat(n,x);
printf("\n");
printf("\n");
printf("Danh sach sau khi sap xep\n");
sapxep(n,x);
Xuat(n,x);
getch();
}
2. Vit chng trnh nhp danh sach lp gm cac thng tin: Ho
va tn; im cac mn: cu truc d liu,Pascal, tmat.
a. Xut bang im theo thu tu giam dn cua im trung bnh
b. m s sinh vin thiu im mn : Cu truc d liu
c. Xut danh sach thi lai mn PASCAL


* Chng trnh

#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 70
/*----------------------------------------------*/
/* khai bao 1 cau truc */
struct sv
{ char hoten[40];
int ctdl,pas,otomat;
float dtb;
} lop[MAX];
int n;
/*----------------------------------------------*/
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 137
void nhap(void)
{
char s[20];
n=0;
do
{
printf("\nsinh vien thu %d\n",n+1);
printf("Ho ten:"); scanf(" %[^\n]",&lop[n].hoten );
printf("diem mon CTDL "); scanf("%d",&lop[n].ctdl);
printf("diem mon PASCAL "); scanf("%d",&lop[n].pas);
printf("diem mon OTOMAT "); scanf("%d",&lop[n].otomat);
printf("\n");
lop[n].dtb=(lop[n].ctdl+lop[n].pas+lop[n].otomat)/3.0;
n++;
printf("Ban muon tiep tuc khong(anykey/k)? ");

} while(getch()!='k' && n<=MAX);
}
/*----------------------------------------------*/
void xuat(void)
{
char i,j,dem=0;
struct sv tmp;
clrscr();
// sap xep theo thu tu diem trung binh giam
// Neu dtb bang nhau thi sx theo ten tang dan
for(i=0;i<n-1;i++)
for (j=i+1;j<n;j++)
if((lop[i].dtb< lop[j].dtb)||(lop[i].dtb==lop[j].dtb &&
strcmpi(lop[i].hoten,lop[j].hoten)>0))
{
tmp=lop[i];
lop[i]=lop[j];
lop[j]=tmp ;
}
/*-----------------------------------------------*/
printf("\nDanh sach sinh vien theo thu tu diem trung
binh\n");
printf(" Ho Ten CTDL PASCAL OTOMAT
DTB\n");
for(i=0;i<n;i++)
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 138
printf("%-25s",lop[i].hoten);
printf(" %1d",lop[i].ctdl);
printf(" %7d",lop[i].pas);
printf(" %7d",lop[i].otomat);
printf("%10.2f\n",lop[i].dtb);
}
/* dem so sinh vien thieu mon CTDL va in danh sach thi lai
mon PASCAL*/
printf("\nDanh sach thi lai mon Pascal\n ");
for(i=0;i<n;i++)
{
if( lop[i].ctdl<5) dem++;
if(lop[i].pas <5) { j=0;
while(lop[i].hoten[j])
putchar(lop[i].hoten[j++]);
printf("\n");
}
}
printf("\nSo sinh vien thieu mon CTDL la: %d ",dem);
}
/*-----------------------------------------------*/
void main()
{
clrscr();
nhap();
xuat();
getch();
}



















Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 139
Ph n VIII : KI U CON TRO & FILE

1. Nhp 2 ma trn thc A va B cp nxn. Ma trn C la ma trn tng C=A+B, ma trn D la ma
trn tich D=AxB, ma trn E , F ln lt la ma trn chuyn v cua ma trn cua ma trn C va
D.Sau o a cac phn t ln nht cua tng hang cua ma trn C ln ng cheo chnh va
phn t ln nht cua tng hang cua ma trn D ln ng cheo phu. Vit chng trnh thc
hin cac cng vic trn dung con tro.
* Chng trnh

#include <conio.h>
#include <stdio.h>
#include <math.h>
#define N 20
/*------------------------------------------*/
void nhap(float *a,float *b,int n);
void xuat(float *a,int n, char ch);
void cong(float *a, float *b,float *c, int n);
void nhan(float *a,float *b, float *d,int n);
void chuyenvi(float *c,float *d, float *e,float *f,int n);
void tim_max_duong_cheo_chinh(float *c,int n);
void tim_max_duong_cheo_phu(float *d,int n);
/*------------------------------------------*/
void nhap(float *a,float *b, int n)
{
int i,j; float x;
for (i=1;i<=n; i++)
for (j=1;j<=n; j++)
{
printf("a[%d,%d]=",i,j);
scanf("%f",a+i*N+j);
}
for (i=1;i<=n; i++)
for (j=1;j<=n; j++)
{
printf("b[%d,%d]=",i,j);
scanf("%f",b+i*N+j);
}
}
/*------------------------------------------*/
void xuat(float *a,int n, char ch)
{
int i,j;
for(i=1;i<=n;i++)
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 140
for(j=1;j<=n;j++)
printf("%c[%d][%d]=%.2f ", ch,i,j,*(a+i*N+j));
printf("\n");
}
}
/*------------------------------------------*/
void cong(float *a, float *b,float *c, int n)
{
int i,j;
for(i=1;i<=n; i++)
{
for(j=1; j<=n; j++)
*(c+i*N+j)=*(a+i*N+j)+ *(b+i*N+j);
}
}
/*------------------------------------------*/
void nhan(float *a,float *b, float *d,int n)
{
int i,j,k;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
*(d+i*N+j)=0;
for(k=1; k<=n; k++)
*(d+i*N+j)=*(d+i*N+j)+(*(a+i*N+k))*(*(b+k*N+j));
}
}
/*------------------------------------------*/
void chuyenvi(float *c,float *d,float *e,float *f,int n)
{ int i,j;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
*(e+i*N+j)=*(c+j*N+i);
*(f+i*N+j)=*(d+j*N+i);
}
}
/*------------------------------------------*/
void tim_max_duong_cheo_chinh(float *c,int n)
{
float max;
int m,i,j,L;
for(i=1;i<=n;i++)
{
max=*(c+i*N+1);
L=1;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 141
for(j=2;j<=n;j++)
if(fabs(max)<fabs(*(c+i*N+j)))
{
max=*(c+i*N+j);
L=j;
}
if(L!=j)
{
*(c+i*N+L)=*(c+i*N+i);
*(c+i*N+i)=max;
}
}
}
/*------------------------------------------*/
void tim_max_duong_cheo_phu(float *d,int n)
{
float max;
int m,i,j,L;
for(i=1;i<=n;i++)
{
max=*(d+i*N+1);
L=n;
for(j=2;j<=n;j++)
if(fabs(max)<fabs(*(d+i*N+j)))
{
max=*(d+i*N+j);
L=j;
}
m=n+1-i;
if(L!=m)
{
*(d+i*N+L)=*(d+i*N+m);
*(d+i*N+m)=max;
}
}
}
/*------------------------------------------*/

void main()
{
clrscr();
textbackground(10);
textcolor(4);
clrscr();
float a[N][N];
float b[N][N];
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 142
float c[N][N];
float d[N][N];
float e[N][N];
float f[N][N];
int n=3;
nhap((float*)a,(float*)b,n);
xuat((float*)a,n,65);printf("\n");
xuat((float*)b,n,66);printf("\n");
cong((float*)a,(float*)b,(float*)c,n);
xuat((float*)c,n,67);printf("\n");
nhan((float*)a,(float*)b,(float*)d,n);
xuat((float*)d,n,68);printf("\n");
chuyenvi((float*)c,(float*)d,(float*)e,(float*)f,n);
xuat((float*)e,n,69);printf("\n");
xuat((float*)f,n,70);printf("\n");
tim_max_duong_cheo_chinh((float*)c,n);
xuat((float*)c,n,67);printf("\n");
tim_max_duong_cheo_phu((float*)d,n);
xuat((float*)d,n,68);printf("\n");
getch();
}
2. Vit chng trnh nhp danh sach lp gm Ho tn, ngay thang
nm sinh, nhp ba im cua ba mn: Toan, Ly, Hoa, tnh im
trung bnh cua ba mn.
-Xp loai cua danh sach va vao theo im trung bnh giam dn
(hoc tng dn).
-Sp xp danh sach theo th t A, B, C.
-i ho tn toan b thanh ch hoa.
*Yu cu:
+Co x ly tp.
+Cai t ham co tra v kiu Struct.

* Chng trnh
#include <conio.h>
#include <dos.h>
#include <string.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
/*------------------------------------------*/
typedef struct {
char ho[15],ten[8],XL[6];
int namsinh;
float t,l,h,tb;
} ds;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 143
ds x[50];
int i,n;
/*------------------------------------------*/
void nhap(int n,ds *x);
void motep(int *n,ds *x);
void in(int n,ds *x);
void sx(int n,ds *x);
void sxdtb(int n,ds *x);
void luutep(int n,ds *x);
/*------------------------------------------*/
void nhap(int n,ds *x)
{
int i;
float TL;
for(i=1;i<=n;i++) {
printf("\n Vao so lieu cho nguoi thu%2d:",i);
printf("\nHo lot :"); fflush(stdin);
gets(x[i].ho); strupr(x[i].ho);
printf("Ten:"); fflush(stdin);
gets(x[i].ten);strupr(x[i].ten);
printf("Nam sinh:" );
scanf("%d",&x[i].namsinh);
printf(" Diem cac mon\n");
tt:
printf(" Diem Toan:");
scanf("%f",&TL); x[i].t=TL;
printf(" Diem ly:"); scanf("%f",&TL);x[i].l=TL;
printf(" Diem hoa :"); scanf("%f",&TL);x[i].h=TL;
x[i].tb=(x[i].t+x[i].l+x[i].h)/3;
if(x[i].tb<4.0) strcpy(x[i].XL,"kem");
if(x[i].tb<5.0 && x[i].tb>=4.0) strcpy(x[i].XL,"yeu");
if(x[i].tb<6.5 && x[i].tb>=5.0) strcpy(x[i].XL,"Trung
Binh");
if(x[i].tb<8.0 && x[i].tb>=6.5) strcpy(x[i].XL,"Kha");
if(x[i].tb<9.0 && x[i].tb>=8.0) strcpy(x[i].XL,"Gioi");
if(x[i].tb<=10.0 && x[i].tb>=9.0) strcpy(x[i].XL,"Xuat
sac");
if(x[i].tb>10)
{
putch(7);putch(7);
printf("nhap lai:");
goto tt;
}
}
}
/*--------------------------------------------------*/
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 144
void in(int n,ds *x)
{
printf("\nSTT
HO_TEN\t\tNAM_SINH\tDT\tDL\tDH\t\DTB\tXEP_LOAI");
for(i=1;i<=n;i++){
printf("\n");
printf("%1d %2s
%s\t%d\t\t%.1f\t%.1f\t%.1f\t%.1f\t%s",i,x[i].ho,
x[i].ten,x[i].namsinh,x[i].t,x[i].l,x[i].h,x[i].tb,x[i].XL);
}
}
/*--------------------------------------------------*/
void sx(int n,ds *x)
{
int j,k;
ds tam;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
k=strcmp(x[i].ten,x[j].ten);
if(k>0)
{
tam=x[i];
x[i]=x[j];
x[j]=tam;
}
}
}
/*--------------------------------------------------*/
void sxdtb(int n,ds *x)
{ int i,j,k;
ds tam;
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
{
if (x[i].tb<x[j].tb)
{
tam=x[i];
x[i]=x[j];
x[j]=tam;
}
}
}
/*--------------------------------------------------*/
void luutep(int n,ds *x)
{
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 145
FILE *fp;
char s[20];
printf(" Ten tep"); fflush(stdin); gets(s);
if((fp=fopen(s,"wt"))==NULL){
printf("\n Loi khi mo tep");
exit(1);
}
putc(n,fp);
for(i=1;i<=n;i++)
fwrite(&x[i],sizeof(ds),1,fp);
fclose(fp);
}
/*--------------------------------------------------*/
void motep(int *n,ds *x)
{
FILE *fp;
char s[20];
printf("\n Ten tep:"); fflush(stdin);gets(s);
if((fp=fopen(s,"rt"))==NULL){
printf("\n Loi khi mo tep");
exit(1);
}
*n=getc(fp);
for(i=1;i<=*n;i++)
fread(x+i,sizeof(ds),1,fp);
in(*n,x);getch();
fclose(fp);
}
/*--------------------------------------------------*/
int main()
{
char cc;
clrscr();
while(1) {
clrscr();
printf("\n1.NHAP\n2.IN\n3.SAPXEP\n4.LUUTEP\n5.MOTEP\n6.EXIT");
cc=getch();
switch(cc){
case '1':
clrscr();
printf("\n So sinh vien:");
scanf("%d",&n);
nhap(n,x);
break;
case '2': in(n,x);getch();
break;
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 146
case '3': sx(n,x);
break;
case '4': luutep(n,x);
break;
case '5': motep(&n,x);
break;
default :return 0;
}
}
getch();
}




























Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 147
BA I T P LA M THM
1. Gia s ta co cac khai bao sau:
int x, a[10]; register r; static int u;
Trong cac biu thc sau biu thc nao hp l ?
&x &a &a[10] &5 &(x+5) &x+5 &r u
2. Gia s ta co cac khai bao sau:
int x, a[10]; register r; static int u;
Trong cac biu thc sau biu thc nao hp l ?
&x *a *a[0] *5 *(x+5) &x+5 &r *&u
3. Gia s co vong lp sau:
For (i=0; i<lim-1&&(c=getchar())!=\n&&c!=EOF;++i) s[i]=c;
Vit lai vong lp trn sao cho khng cn n cac phep && va ||.
4. Gia s co vong lp sau:
For (i=100; i>n &&(c=getchar())!=\n&&c!=EOF;i--) s[i]=c;
Vit lai vong lp trn sao cho khng cn n cac phep && va ||.

5. Vit lai ham strend(char *s, char *t) tra v gia tr 1 nu dong s la oan cui cua dong t ( v
du t la 123 th oan cui cua t la ,3,23,123), va tra v gia tr 0 nu ngc la i.
6. Cho 2 ham sau
int f(int x, int *y) int g(int x, int y)
{ {
int z; int z;
if (x==0)= return *y if (x==0)= return y
x--; *y3; z`y; x--; y2; zf(x,&y);
return g(x,z); return y+z;
} }
Hay cho bit g(3,3).
7. Cho 2 ham sau
int f(int x, int *y) int g(int x, int y)
{ {
int z; int z;
if (x==6)= return *y if (x==6)= return y
x--; *y2; z`y; x--; y3; zf(x,&y);
return g(x,z); return y+z;
} }
Hay cho bit g(3,3).
8. Vit chng trnh lit k tt ca cac s nguyn bng bnh phng cua tng cac ch s cua
no.
V du: 81 = (8+1)
2


Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 148


9. Cho hai day s A va B co cac phn t theo th t giam dn. Hay ghep mang B vao
mang A cung co phn t giam dn (khng dung mang phu).
10. Cho hai day s A va B co cac phn t theo th t tng dn. Hay ghep mang B vao mang A
cung co phn t tng dn (khng dung mang phu).
11. Vit ham int InsCircle(double r, double x, double y) tra v gia tr ung hc sai tuy thuc
im (x,y) co nm trong vong tron tm O(0,0) ban knh r hay khng. Sau o s dung ham
nay vit ham double monte2(double r, int n) tra v gia tr din tch hnh tron ban knh r
c tnh bng phng phap MonteCarlo vi n im th. Gia s a tn tai ham double
range_rand(double min, double max) cho gia tr ngu nhin trn oan [min,max].
Chu thch: Phng phap Monte_Carlo vi n im th tnh din tch hnh tron: Gieo ngu
nhin n im trn hnh vung ngoai tip hnh tron o, va m s im ri vao bn trong hnh
tron (gia s la n1). Din tch hnh tron c xp x bng din tch hnh vung nhn vi t s
n1/n.
12. Vit chng trnh tnh n! vi n la s ln
13. Vit chng trnh tnh 2
n
vi n la s ln
14. Vit chng trnh in ra bang ma ASCII co s thu t i kem : v du A co ma 65
15. Vit chng trnh in bang cu chng nh ba v hoc sinh
16.Nhp mt ma trn vung A(n,n) ( vi 5 n 10) kiu nguyn.
Hay tnh P = S/P ( vi S la tng cac phn t trn ng cheo
chnh va R la tng cac t le trn ng cheo phu, nu khng co
phn t le th R la tng cac phn t trn ng cheo phu), ri
i P ra h m bt ky.( c s cua h m c nhp t ban
phm)

17. quan ly xe may, ngi ta quan ly cac thng tin bao gm:
ho tn chu xe (HT), a ch (DC), s may (SM), s khung (SK),
bin kim soat(BKS).
Vit chng trnh nhp mt danh sach bao gm cac thng tin
trn( ti a 50 i tng)
Hin th danh sach va nhp
Nhp vao mt s khung bt ky, hin th ho tn chu xe co s
khung trung vi s khung va nhp.
18. quan ly cac khi g hnh hp ch nht, ta t chc mt
mang cac record, mi record gm cac trng : Canh dai (CD),
Canh ngn (CN), chiu cao(CC), Th tch(TT), gia tin (TIEN).
Hay vit chng trnh thc hin cac yu cu sau:
+ Nhp s liu cua 30 khi g (theo canh dai, canh ngn,chiu
cao)
+ Tnh th tch cua tng khi g theo cng thc: TT=CD*CN*CC
+Tnh gia tin cua tng khi g theo cng thc: TIEN=TT*DG
Vi n gia (DG) la gia tin cua 1m
3
g ( c nhp t ban phm)
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 149
+ In ra danh sach cac khi g a nhp ( gm STT( s th t),
TT,TIEN) theo chiu tng dn cua gia tin.
19. Hay nhp mt phn s ri c lc phn s
20. Tm c s chung ln nht cua nhiu s.
20. Hay nhp nhiu phn s ri thc hin cac phep cng ,tr,
nhn, chia phn s .
















Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 150
TA I LI U THAM KHA O

[1] Ngn ng lp trnh PASCAL - Quach Tun Ngoc
[2] Turbo PASCAL, cm nang tra cu - Quach Tun Ngoc
[3] Tin hoc ai cng - Phan Huy Khanh
[4] Turbo Pascal - Ngoc Phng
[5] Turbo Pascal - Borland
[6] Bai tp tin hoc chon loc - Nguyn Thanh Hung
[8] Bai tp Turbo Pascal - Phuc
[9] Bai tp Tin hoc - H sy am
[10] Cac bai tp, cac thi - Khoa CNTT- TVT-HKT-a nng.






























Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 151
PH N PHU LU C
I. Cac phim soan thao trong mi truong Borland C 3.1

1. Phm di chuyn con tr:
, ,, : Thay i 1 v tr
Home/End : v u/cui dng
Pgup/PgDn : ln/xung mt trang
^Home/^End : v u/cui ca s
^PgUp/^PgDn : v u/cui chng trnh

2. Phm chn xo:
Insert : bt/tt ch chn/
Enter : sang dng, chn dng trng
Delete : xo mt k t ti con tr
BackSpace: xo mt k t bn tri con tr
^Y : xo mt dng cha con tr
^Q +Y : xo t con tr n cui dng

3. Phm v khi:
Clipboard l vng nh lu khi vn bn tm thi
^K+B/ ^K+K : nh du u/cui khi. Cng c th nh du khi bng cch gi phm
Shift v dng phm di chuyn con tr
^K+H : n/hin khi
^Ins : Chp khi sang Clipboard
Shift+Del: Ct khi sang Clipboard
Shift+Ins : Dn khi Clipboard vo ti con tr
^K+ Y (^Del) : xo khi
^K+C : sao chp khi ti v tr con tr
^K+V : di chuyn khi ti v tr con tr
^K+R : c tp trn a vo v tr con tr nh mt khi
^K+W : ghi khi vo tp trn a

4. Phm tm kim:
^Q+F: tm xu ch
Sau khi t hp cc phm trn, my yu cu nhp xu ch cn tm; tip theo l nhp cc
la chn (options) cch tm:
/G (global): Tm ton cc, ngm nh l tm t con tr n cui chng trnh
/B (back) : Tm ngc v u chng trnh
/ W (word): Tm nguyn t
/U (upcase): Khng phn bit ch hoa/thng
/n (n l s): Tm n ln xut hin th n
^Q+A: tm v thay th
Tng t lnh tm kim, nhp xu ch cn tm v xu ch cn thay v cc la chn, c
thm la chn /N t ng thay m khng cn nhc c cng nhn thay hay khng.
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 152
^L: tm hoc tm v thay tip

5. T hp phm Alt+BkSp b qua 1 thao tc son tho gn nht
II. Cac li thuong gp khi lp trinh

Li Ni dung
Li bin dch ngha
"..." expected Thiu "..."
Ambiguity between 'function1' and
'function2'
Nhm ln gia cc hm
Array bounds missing ] Thiu du "[" trong ch s mng
Array must have at least one
element
Mng phi c t nht mt phn t
Array of references is not allowed Khng cho php khai bo mng tham chiu
Array size too large Kch thc mng qu ln
Assembler statement too long Lnh Hp ng qu di
Attempting to return a reference to
a local object
Tr v mt tham chiu ch n mt i
tng cc b
Attempting to return a reference to
local variable 'identifier'
Tr v mt tham chiu ch n mt bin cc
b
Bad define directive syntax Sai c php trong nh hng #define
Bad syntax for pure function
definition
nh ngha hm sai c php
Bit field cannot be static Trng bit khng th thuc lp static
Bit field too large Trng bit qu ln
Bit fields must be signed or
unsigned int
Trng bit phi l kiu int c du hoc
khng du
Bit fields must contain at least one
bit
Trng bit phi c t nht 1 bit
Bit fields must have integral type Trng bit phi thuc kiu nguyn
Body already defined for this
function
Thn hm ny nh ngha ri
Cannot allocate a reference Khng th phhan b mt tham chiu
Cannot call 'main' from within the
program
Khng th gi hm main() bn trong
chng trnh
Cannot cast from 'type1' to 'type2' Khng th p kiu ny thnh kiu kia
Cannot convert 'type1' to 'type2' Khng th chuyn kiu ny thnh kiu kia
Cannot define a pointer or
reference to a reference
Khng th nh ngha mt con tr hoc mt
tham chiu ch n mt tham chiu
Cannot initialize 'type1' with 'type2' Khng th khi tao kiu ny vi kiu kia
Cannot modify a const object Khng th thay i mt i tng hng
Case outside of switch Cc ch nh case ngoi lnh switch
Case statement missing : Thiu ":" trong ch nh case
Character constant must be one or Hng k t phi di 1 hoc 2 k t
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 153
two characters long
Compound statement missing } Lnh phc hp thiu "}"
Conflicting type modifiers Nhm ln trong thay i kiu
Constant expression required Cn mt biu thc hng
Constant variable 'variable' must be
initialized
Bin hng phi c khi to
Conversion of near pointer not
allowed
Khng cho php chuyn i con tr gn
Could not find a match for
argument(s)
Khng tm thy s ph hp cho i s
Could not find file 'filename' Khng tm thy tp
Declaration does not specify a tag
or an identifier
Khai bo khng ch nh mt nhn tn hoc
mt tn
Declaration is not allowed here Khng cho php khai bo y
Declaration missing ; Khai bo thiu ";"
Li bin dch ngha
Declaration syntax error Sai c php khai bo
Declaration terminated incorrectly Kt thc khai bo khng ng
Declaration was expected Thiu khai bo
Default argument value redeclared Gi tr i s mc nh b khai bo li
Default argument value redeclared
for parameter 'parameter'
Gi tr i s mc nh b khai bo li cho
tham s
Default expression may not use
local variables
Biu thc mc nh khng th dng bin cc
b
Default outside of switch Ch nh default bn ngoi lnh switch
Default value missing Gi tr default b b qua
Default value missing following
parameter 'parameter'
Gi tr default b b qua sau tham s
Define directive needs an identifier #define cn mt tn
Division by zero Chia cho s khng
do statement must have while Lnh do phi c while
do-while statement missing ( | ) | ; Lnh do-while thiu "(" , ")" , ";"
Duplicate case Ch nh case b lp
Enum syntax error Sai c php trong khai bo kiu enum
Expression expected Thiu biu thc
Expression of scalar type expected Thiu biu thc kiu v hng
Expression syntax V c php biu thc
extern variable cannot be initialized Khng th khi to bin thuc lp extern
Extra parameter in call Thm tham s trong lnh gi
Extra parameter in call to function Thm tham s trong lnh gi hm
File must contain at least one
external declaration
Tp phi cha t nht mt khai bo bn
ngoi (lp extern)
File name too long Tn tp qu di
For statement missing ( | ) | ; Lnh for thiu "(" , ")" , ";"
'function' cannot return a value Hm ny khng th tr v mt gi tr
'function' must be declared with no |
one | two parameter(s)
Hm ny phi c khai bo khng| mt |
hai tham s
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 154
'function1' cannot be distinguished
from 'function2'
Hm ny khng th phn bit vi hm kia
Function 'function' cannot be static Hm ny khng th thuc lp static
Function 'function' should have a
prototype
Hm ny phi c nguyn mu
Function call missing ) Gi hm thiu ")"
Function calls not supported Khng cung cp cc lnh gi hm
Function definition cannot be a
typedef'ed declaration
nh ngha hm khng th l mt khai bo
kiu
Function should return a value Hm phi tr v mt gi tr
Functions may not be part of a
struct or union
Hm khng th l mt phn ca struct hay
union
Global anonymous union not static Mt union ton cc khng tn khng th
thuc lp static
'identifier' cannot be declared in an
anonymous union
Tn ny khng th khai bo trong mt
union khng tn
'identifier' cannot start a parameter
declaration
Tn ny khng th bt u cho mt khai
bo tham s
Li bin dch ngha
'identifier' is not a member of struct Tn ny khng l thnh phn ca struct
'identifier' is not a non-static
member and can't be initialized here
Tn ny khng l thnh phn ng v
khng c khi to y
'identifier' is not a parameter Tn ny khng phi l mt tham s
'identifier' must be a previously
defined enumeration tag
Tn ny phi l mt nhn tn ca kiu
enum c nh ngha trc
'identifier' specifies multiple or
duplicate access
Tn ny b lp trong ch nh hoc truy cp
Identifier expected Thiu tn
If statement missing ( | ) Cu lnh if thiu "(" , ")"
Illegal character 'character'
(0x'value')
K t ny bt hp l
Illegal initialization Khi to bt hp l
Illegal octal digit Ch s bt phn bt hp l
Illegal pointer subtraction Tr con tr bt hp l
Illegal structure operation Bt hp l trong thao tc kiu struct
Illegal to take address of bit field Ly a ch ca trng bit l bt hp l
Illegal use of floating point Dng s thc bt hp l
Illegal use of pointer Dng con tr bt hp l
Implicit conversion of 'type1' to
'type2' not allowed
Khng cho php chuyn kiu khng r rng
Improper use of typedef 'identifier' Dng nh ngha kiu typedef khng ng
Incompatible type conversion Vic chuyn kiu khng tng thch
Incorrect configuration file option Chn cu hnh tp b sai
Incorrect number format Sai dng thc s
Incorrect use of default Sai trong cch dng default
Invalid combination of opcode and
operands
Vic kt hp lnh v cc ton hng bt hp
l
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 155
Invalid macro argument separator Vic tch cc i s ca macro bt hp l
Invalid pointer addition Cng con tr bt hp l
Invalid register combination T hp thanh ghi bt hp l (nh BP+BX)
Invalid use of dot Dng k t chm bt hp l
Last parameter of 'operator' must
have type 'int'
Tham s cui cng ca ton t phi thuc
kiu int
Lvalue required Cn mt lvalue kh bin
Macro argument syntax error Sai c php trong i s ca macro
Macro expansion too long Vic bung macro qu di
main must have a return type of int Hm main() phi tr v kiu int
Memory reference expected Thiu tham chiu b nh
Misplaced break t t kho break sai ch
Misplaced continue t t kho continue sai ch
Misplaced decimal point t du chm thp phn sai ch
Misplaced else t t kho else b sai ch
Multiple declaration for 'identifier' Khai bo tn b lp
Must take address of a memory
location
Phi ly a ch trong b nh
Need an identifer to declare Cn mt tn khai bo
No : following the ? Thiu du ":" sau ton t "?"
No file name ending Khng kt thc tn tp
No file names given Khng cho cc tn tp
Li bin dch ngha
No type information Thiu thng tin v kiu
Nonportable pointer conversion Vic chuyn kiu con tr bt dch
Not a valid expression format type Khng phi mt kiu biu thc hp l
Not an allowed type Khng phi mt kiu cho php
Numeric constant too large Hng s qu ln
Objects of type 'type' cannot be
initialized with { }
Cc i tng kiu ny khng th khi to
vi { }
operator -> must return a pointer or
a class
Ton t -> phi tr v mt con tr hoc mt
lp
operator [] missing ] Ton t [ ] thiu ]
Parameter names are used only
with a function body
Cc tn tham s ch c dng trong thn
hm
Parameter 'number' missing name Thiu tn tham s
Pointer to structure required on left
side of -> or ->*
Con tr ch n struct phi bn tri ->
hoc ->*
Reference initialized with 'type1',
needs lvalue of type 'type2'
Khi to tham chiu vi kiu ny cn lvalue
kiu kia
Reference variable 'variable' must
be initialized
Bin tham chiu phi c khi to
Repeat count needs an lvalue m vng lp cn mt lvalue
sizeof may not be applied to a bit
field
Khng th p dng ton t sizeof vo
trng bit
sizeof may not be applied to a Khng th p dng ton t sizeof vo mt
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 156
function hm
Size of 'identifier' is unknown or
zero
Kch thc ca tn ny khng bit hoc
bng 0
Size of the type is unknown or zero Kch thc ca kiu ny khng bit hoc
bng 0
'specifier' has already been
included
Vic ch nh ny c a vo ri
Statement missing ; Cu lnh thiu ";"
Structure required on left side of . or
.*
struct phi bn phi du chm hoc .*
Structure size too large Kch thc struct qu ln
Subscripting missing ] Thiu ] trong ch s mng
Switch selection expression must
be of integral type
Biu thc chn trong lnh switch phi thuc
kiu nguyn
Switch statement missing ( | ) Lnh switch thiu "(" , ")"
The value for 'identifier' is not within
the range of an int
Gi tr cho tn ny khng thuc min int
Too few parameters in call Qu t tham s trong lnh gi
Too few parameters in call to
function
Qu t tham s trong lnh gi hm
Too many decimal points Qu nhiu du chm thp phn
Too many default cases Qu nhiu trng hp default
Too many error or warning
messages
Qu nhiu thng bo khuyn co hoc li
Too many exponents Qu nhiu ch thch
Too many initializers Qu nhiu khi to
Too many types in declaration Qu nhiu khai bo kiu
Too much global data defined in file Qu nhiu d liu ton cc nh ngha trong
tp
Two consecutive dots Hai du chm lin tc
Two operands must evaluate to the
same type
Hai ton hng phi c lng thnh mt
kiu
Type mismatch in default argument
value
Sai kiu trong gi tr i s mc nh

Li bin dch ngha
Type mismatch in default value for
parameter 'parameter'
Sai kiu trong gi tr mc nh cho tham s
Type mismatch in parameter
'number'
Sai kiu trong tham s
Type mismatch in parameter
'number' in call to 'function'
Sai kiu ca tham s trong lnh gi hm
Type mismatch in parameter
'parameter'
Sai kiu ca tham s ny
Type mismatch in parameter
'parameter' in call to 'function'
Sai kiu ca tham s ny trong lnh gi
hm
Type mismatch in redeclaration of Sai kiu trong khia bo li tn ny
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 157
'identifier'
Type name expected
Type qualifier 'identifier' must be a
struct or class name
Kiu ca tn ny phi l mt struct hay mt
lp
Type 'typename' may not be
defined here
Khng th nh ngha kiu ny y
Unable to execute command
'command'
Khng th thc hin c lnh ny
Unable to open include file
'filename'
Khng th m c tp a vo ny
Undefined structure 'structure' Khng nh ngha struct ny
Undefined symbol 'identifier' Khng nh ngha k kiu ny
Unexpected } Thiu "}"
union cannot be a base type union khng th l mt kiu c s
union cannot have a base type union khng th c mt kiu c s
Unterminated string or character
constant
Khng kt thc hng chui k t hoc k t
Use . or -> to call function Dng "." hoc "->" gi hm
Use . or -> to call 'member', or & to
take its address
Dng "." hoc "->" gi thnh phn, hoc
"&" ly a ch ca n
User break Dng ^break kt thc chng trnh
Value of type void is not allowed Khng cho php ly gi tr ca kiu void
Variable 'variable' has been
optimized and is no longer available
Bin ny c ti u ho v khng th
dng c na
Variable 'identifier' is initialized
more than once
Bin ny c khi to nhiu ln
void & is not a valid type a ch void khng cho php
While statement missing ( | ) Lnh while thiu "(" , ")"
Wrong number of arguments in call
of macro
Sai s cc i s trong lnh gi macro

khuyn co khi bin dch ngha
Array variable 'identifier' is near Bin mng ny thuc lp gn
Assigning 'type' to 'enumeration' Gn kiu ny cho kiu v hng lit k
Bit fields must be signed or
unsigned int
Cc trng bit phi thuc kiu int c du
hoc khng du
Both return and return with a value
used
C hai u tr v mt gi tr s dng
Call to function 'function' with no
prototype
Gi hm khng c nguyn mu
Call to function with no prototype Gi hm khng c nguyn mu
Code has no effect Lnh ny khng c hiu lc
Condition is always true| false iu kin ny lun lun ng|sai
Constant is long Hng b di
Constant out of range in
comparison
Hng qu min gi tr so snh
Conversion may lose significant Vic chuyn kiu c th lm thiu chnh xc
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 158
digits trong tnh ton
Declare type 'type' prior to use in
prototype
Khai bo kiu ny u tin dng
Division by zero Chia cho s khng
Function should return a value Hm nn tr v mt gi tr
Hexadecimal value contains more
than 3 digits
Gi tr thp lc phn nhiu hn 3 ch s
'identifier' declared but never used Tn khng h s dng
'identifier' is assigned a value that is
never used
Tn ny c gn gi tr m khng h s
dng
'identifier' is declared as both
external and static
Tn ny c khai bo va thuc lp
extern, va thuc lp static
Initialization is only partially
bracketed
Vic khi to ch l mt phn trong cp {}
Initializing 'enumeration' with 'type' Khi to enum vi kiu ny
Mixing pointers to signed and
unsigned char
Ln con tr ch n char c du v khng
du
No declaration for function 'function' Hm ny khng c khai bo
Non-constant function 'function'
called for constant object
Hm khng hng li gi cho mt i tng
hng
Non-volatile function 'function'
called for volatile object
Hm khng thuc lp volatile li gi cho
mt i tng volatile
Nonportable pointer comparison So snh con tr bt dch
Nonportable pointer conversion Chuyn con tr bt dch
Parameter 'parameter' is never
used
Tham s ny khng h s dng
Possible use of 'identifier' before
definition
C th dng tn ny trc nh ngha
Possibly incorrect assignment C th sai lnh gn
Redefinition of 'macro' is not
identical
nh ngha li macro ny khng nht qun
Structure passed by value struct truyn bi gi tr
Style of function definition is now
obsolete
Kiu nh ngha hm khng chun
Superfluous & with function Hm tha "&"
Suspicious pointer conversion Xem li vic chuyn i con tr
Temporary used for parameter
'number'
Dng tm tham s ny

khuyn co khi bin dch ngha
Temporary used for parameter
'number' in call to 'function'
Dng tm tham s ny trong lnh gi hm
Temporary used to initialize
'identifier'
Dng tm khi to cho tn ny
Undefined structure 'structure' Khng nh ngha struct ny
Unknown assembler instruction Khng bit lnh hp ng ny
Unreachable code Lnh ny khng thc hin c
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 159
Use qualified name to access
nested type 'type'
Dng tn ny truy cp kiu t hp
Void functions may not return a
value
Hm void khng th tr v gi tr

li bin dch nghim trng
Bad call of intrinsic function Sai trong lnh gi hm
Compiler table limit exceeded Bng bin dch qu gii hn
Error writing output file Li ghi ra tp
Register allocation failure Li phn b thanh ghi
Unable to create output file
'filename'
Khng th to tp ghi ny
Unable to open 'filename' Khng th m tp ny
Unable to open input file 'filename' Khng th m tp nhp ny
Out of memory Trn b nh

li khi chy chng trnh
Abnormal program termination Chng trnh kt thc khng bnh thng
Divide error Li trong php chia
Floating point error: Divide by 0,
Domain, Overflow, Partial loss of
precision, Underflow, Stack fault
Li trong s thc: Chia cho s khng, Min
gi tr, Trn trn, Mt chnh xc, Trn
di, Li ngn xp
Null pointer assignment Gn con tr null
Stack overflow Trn ngn xp
III. Cac Header
III.1. MATH.H

int abs(int x);
Ly tr tuyt i s x kiu int
double fabs(double x);
Ly tr tuyt i s thc x
long int labs(long int x);
Ly tr tuyt i s x kiu long

Cac ham cos(x), sin(x), tg(x), arccos(x), arsin(x), arctg(x), arctg(y/x) ln(x)

double cos(double x);
double sin(double x);
double tan(double x);
double acos(double x);
double asin(double x);
double atan(double x);
double atan2(double y, double x);
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 160

double atof(const char *s);
i chui s sang s thc
double ceil(double x);
Ly gi tr nguyn nh nht >=x
double floor(double x);
Ly gi tr nguyn ln nht <=x
double exp(double x);
Hm e
x
double fmod(double x, double y);
Ly phn d ca x/y
double hypot(double x, double y);
Ly gi tr cn bc hai ca x
2
+y
2
, chiu di cnh huyn
double ldexp(double x, int n);
Hm lu tha x
n
double log(double x);
Hm ln(x)
double log10(double x);
Hm log
10
(x)
double poly(double x, int n, double a[]);
Hm tnh gi tr a thc bc n vi mng h s a
double pow(double x, double y);
Hm m x
y
double pow10(int p);
Hm 10
p
double sqrt(double x);
Ham cn bc 2 cua x
III.2. STDIO.H
int fclose(FILE *f);
ng tp f. Thnh cng th tr v 0, ngc li tr v EOF
int fcloseall(void);
ng tt c cc tp
FILE *fopen(const char *fn, const char *mode);
M tp vi tn fn v ch m l mode. Tr v mt con tr tp
int feof(FILE *f);
Kim tra trng thi cui tp. Tr v 0 nu khng phi cui tp
int fgetc(FILE *f);
Ly k t trong tp f. Nu ht tp th tr v EOF
int fputc(int c, FILE *f);
Ghi k t c vo tp f. Tr v k t c, nu li th tr v EOF
int fgetpos(FILE *f, fpos_t *pos);
Ly v tr hin thi ca con tr tp f v ghi vo bin pos, fpos_t l kiu v t tp
int fsetpos(FILE *f, const fpos_t *pos);
t v tr con tr tp f ti pos
char *fgets(char *s, int n, FILE *f);
Ly chui k t trong tp f v ghi vo bin s, di ti a n k t
int fputs(const char *s, FILE *f);
Ghi chui s vo tp f
size_t fread(void *ptr, size_t size, size_t n, FILE *f);
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 161
c n khi d liu t tp f v ghi vo con tr ptr, mi khi c kch thc size byte
int fscanf (FILE *f, const char *format [, address, ...]);
Qut cc gi tr t tp f vi dng thc ch nh vo danh dch cc bin c a ch cho
trong danh sch
int fseek(FILE *f, long offset, int whence);
a con tr tp f n v tr offset tnh t whence, whence c th l 0,1,2 tnh tng ng
t u tp, ti v tr hin thi, cui tp
long ftell(FILE *f);
Ly v tr hin thi ca con tr tp
size_t fwrite(const void *ptr, size_t size, size_t n, FILE*f);
Ghi n khi d liu trong ptr vo tp f , mi khi gm size byte
int getc(FILE *f);
Ly k t t tp f
int putc(int c, FILE *f);
Ghi k t c vo tp f
int getchar(void);
Ly k t t bn phm
int putchar(int c);
Ghi k t c ra mn hnh
char *gets(char *s);
Ly chui k t t bn phm vo bin s
int puts(const char *s);
Ghi chui k t s ra mn hnh
int remove(const char *fn);
Xo tp c tn fn
int rename(const char *oldname, const char *newname);
i tn tp c oldname thnh newname

III.3.CONIO.H

void clreol(void);
Xo t con tr n cui dng
void clrscr(void);
Xo ca s hin thi
void delline(void);
Xo c dng
int getch(void);
Ly k t t bn phm, khng hin k t
int getche(void);
Ly k t t bn phm, c hin k t
void gotoxy(int x, int y);
a con tr n to (x,y)
void highvideo(void);
t ch sng cao cho mn hnh
void lowvideo(void);
t ch sng thp cho mn hnh
void normvideo(void);
t ch sng bnh thng cho mn hnh
void insline(void);
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 162
Chn dng trng vo ti v tr con tr (sang dng)
int kbhit(void);
Kim tra trng thi c phm bm
int putch(int ch);
Ghi k t c ra mn hnh
void textbackground(int c);
t mu nn l mu c
void textcolor(int c);
t mu ch l mu c
int wherex(void);
Ly honh hin thi
int wherey(void);
Ly tung hin thi
void window(int x1, int y1, int x2, int y2);
To ca s (x1,y1,x2,y2)

III.4. CTYPE.H

int tolower(int ch);
i k t sang ch thng
int toupper(int ch);
i k t sang ch hoa

III.5. STDLIB.H

void abort(void);
Dng chng trnh v iu kin
int atoi(const char *s);
i chui s sang s kiu int
long atol(const char *s);
i chui s sang s kiu long
void *calloc(size_t n, size_t size);
Cp pht b nh ng cho n mc, kch thc mi mc l size. Tr v con tr ch
n khi
void exit(int s);
Dng chng trnh vi m thot s
void free(void *block);
Gii phng b nh ng ch n bi block
char *itoa(int v, char *s, int r);
i gi tr v khiu int sang chui s, c s r
char *ltoa(long v, char *s, int r);
i gi tr v khiu long sang chui s, c s r
char *ultoa(unsigned long v, char *s, int r);
i gi tr v khiu long khng du sang chui s, c s r
void *malloc(size_t size);
Cp pht b nh ng gm size byte v tr v con tr ch n khi
int rand(void);
Ly s ngu nhin t 0 n RAND_MAX
Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 163
int random(int n);
Ly s ngu nhin t 0 n n
void randomize(void);
Khi to b to s ngu nhin
long strtol(const char *s, char **end, int r);
i chui s sang s kiu long c s r, lu v tr cui chui i c trong end
unsigned long strtoul(const char *s, char **endptr, int radix);
i chui s sang s kiu long khng du c s r, lu v tr cui chui i c trong end
int system(const char *c);
Gi lnh c ca h iu hnh
III.6. STRING.H

char *stpcpy(char *d, const char *s);
Sao chp chui k t s vo bin chui k t d
char *strcat(char *d, const char *s);
Ni chui k t s vo cui chui k t d
char *strchr(const char *s, int c);
Qut chui k t s tm ln xut hin u tin ca k t c
K t null c xem l mt phn ca chui k t
int strcmp(const char *s1, const char*s2);
So snh hai chui k t
Gi tr tr v l s
< 0 nu s1 < s2
= = 0 nu s1 = = s2
> 0 nu s1 > s2
size_t strlen(const char *s);
Ly di ca chui k t s
char *strlwr(char *s);
Chuyn bin chui s sang tt c ch thng
char *strupr(char *s);
Chuyn bin chui s sang tt c ch hoa
char *strrev(char *s);
o tt c cc k t trong s ( tr k t null)
char *strset(char *s, int ch);
t tt c cc k t trong s thnh k t ch
char *strstr(const char *s1, const char *s2);
Tm ln xy ra u tin ca mt chui con s2 trong chui k t s1






Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 164
MUC LUC

PHN I : DU LIU VA CHUONG TRINH ................................................................ 1
TNH TOAN CAC BIU THC.................................................................................. 1
PHN II : LNH DIU KIN...................................................................................... 9
+ IF................................................................................................................................ 9
+ LNH SWITCH . . . CASE ....................................................................................... 9
PHN III : LNH VONG LP................................................................................... 27
+ FOR ... ...................................................................................................................... 27
+ WHILE ... ............................................................................................................... 27
+ DO ... WHILE .......................................................................................................... 27
PHN IV : CHUONG TRINH CON........................................................................ 57
PHN V : KIU MANG.............................................................................................. 80
PHN VI : KIU XU CHU .................................................................................... 122
PHN VII : STRUCT VA UNION........................................................................... 134
PHN VIII : KIU CON TRO & FILE................................................................... 139
BAI TP LAM THM............................................................................................... 147
TAI LIU THAM KHAO.......................................................................................... 150
PHN PHU LUC........................................................................................................ 151
I. CAC PHM SOAN THAO TRONG MI TRNG BORLAND C 3.1................................. 151
II. CAC LI THNG GP KHI LP TRNH................................................................... 152
III. CAC HEADER ....................................................................................................... 159
III.1. MATH.H.......................................................................................................... 159
III.2. STDIO.H...................................................................................................... 160
III.3.CONIO.H....................................................................................................... 161
III.4. CTYPE.H...................................................................................................... 162
III.5. STDLIB.H..................................................................................................... 162
III.6. STRING.H .................................................................................................... 163



Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng
Bai tp Tin hoc ai cng 165











Nguyn Vn Nguyn- Khoa CNTT-TVT ai hoc Bach Khoa a Nng

You might also like