Вы находитесь на странице: 1из 5

GV: Nguyn Thnh Thy

Nhm 3

GII THUT
Chng trnh: c mt chui s v thm du chm phn cch
hng nghn vo chui s
TNG CHNH CA CHNG TRNH :
c 1 dng t file INPUT.TXT n khi gp k t xung dng hoc
kt thc file v lu tng dng vo mng a[]
Xut file OUTPUT.TXT tng ng vi tng phn t ca mng a
u tin ta in chui s c phn cch bng du chm:
Nu s nh hn 1000 th in ra s
Cn li th in hng nghn chc nghn trm nghn, chn
du . v in cc s cn li
Sau c s bng cch gi hm DocSo()
Tip tc cho n phn t cui cng ca mng a

Chng trnh gm cc hm:


f1
f2
f3
f4
f5
f6
DocSo()
S dng gi ng m t tng hm.
1) Hm f1() :

M t : Hm dng c hng n v ca chui s


D liu vo : S nguyn n
D liu ra : Chui k t tng ng vi s nguyn n
X l :
if(n==0)return "khong"; if(n==1)return "mot";

GV: Nguyn Thnh Thy

Nhm 3

if(n==2)return "hai";

if(n==3)return "ba";

if(n==4)return "bon";

if(n==5)return "nam";

if(n==6)return "sau";

if(n==7)return "bay";

if(n==8)return "tam";

if(n==9)return "chin";

Kt thc .
2) Hm f2() :

M t : Hm dng c hng chc ca chui s


D liu vo : S nguyn n
D liu ra : Chui k t tng ng vi s nguyn n
X l :
if(n/10 == 1 && n%10 == 5)
return "muoi lam"; //c ring s 15
if(n/10 == 1 && n!=10)
return "muoi " + f1(n%10); //c cc s t 11 => 19
string tam = f1(n/10);
tam+=" muoi ";
if(n == 10)return "muoi"; // c ring s 10
if(n%10 == 0)
return tam; //c cc s trn chc t 20 =>90
if(n%10 == 5)
return ( tam + "lam"); //c cc s 25,35,45,55,,95
tam += f1(n%10); // Sau khi xt ring cc trng hp c bit, ta c
s bng cch c s hng chc bng hm f1 + muoi + hng n v f1
return tam;
Kt thc .

GV: Nguyn Thnh Thy

Nhm 3

3) Hm f3() :

M t : Hm dng c hng trm ca chui s


D liu vo : S nguyn n
D liu ra : Chui k t tng ng vi s nguyn n
X l :
string tam = f1(n/100);
tam+=" tram ";
if(n%100 == 0)
return tam; // c cc s trn trm
if( (n/10)%10 == 0)
return ( tam + "le " + f1(n%100) ); //c cc c s 0 hng
chc
return (tam + f2(n%100) ); //c s bng cch c hng trm +
tram + c cc s cn li bng hm f2
Kt thc .
4) Hm f4() :

M t : Hm dng c hng nghn ca chui s


D liu vo : S nguyn n
D liu ra : Chui k t tng ng vi s nguyn n
X l :
if(n%1000 == 0)
return f1(n/1000) + " nghin"; // c cc s trn nghn
return f1(n/1000) + " nghin " + f3(n%1000); // c s bng cch c
s hng nghn bng hm f1 + nghn + c cc s cn li bng hm f3
Kt thc .
5) Hm f5() :

GV: Nguyn Thnh Thy

Nhm 3

M t : Hm dng c hng chc nghn ca chui s


D liu vo : S nguyn n
D liu ra : Chui k t tng ng vi s nguyn n
X l :
if(n%1000 == 0)
return f2(n/1000) + " nghin";// c cc s trn chc nghn
return f1(n/1000) + " nghin " + f3(n%1000); // c s bng cch c
2 s hng chc nghn v hng nghn + nghn + c cc s cn li bng f3
Kt thc .
6) Hm f6() :

M t : Hm dng c hng trm nghn ca chui s


D liu vo : S nguyn n
D liu ra : Chui k t tng ng vi s nguyn n
X l :
if(n%1000 == 0)
return f3(n/1000) + " nghin";// c cc s trn trm nghn
return f3(n/1000) + " nghin " + f3(n%1000); // c s bng cch c
3 s hng nghn bng hm f3 + nghn + c cc s cn li bng hm f3
Kt thc .
7) Hm DocSo() :

M t : Hm dng c chui s
D liu vo : S nguyn n
D liu ra : Chui k t tng ng vi s nguyn n
X l :

GV: Nguyn Thnh Thy

Nhm 3

Kim tra s c bao nhiu ch s bng cch so snh vi


10,100,1000,10000,100000,1000000 ri c tng ng bng hm f1, f2, f3,
f4, f5, f6
Kt thc .

Вам также может понравиться