bài tập C++ (không giải)

Mét sè Bµi tËp thùc hµnh

m«n kü thuËt lËp tr×nh

---------------

Ch­ư¬ng I: BiÕn – biÓu thøc – c¸c lÖnh nhËp xuÊt

1.     NhËp hai sè nguyªn, tÝnh tæng, hiÖu, tÝch, th­¬ng, ®ång d­.

2.     NhËp mét sè nguyªn, in ra mµn h×nh c¸ch ®äc sè nguyªn ®ã (VD: sè 1252 ®äc lµ: mét ngµn hai tr¨m n¨m chôc hai ®¬n vÞ).

3.     ViÕt chư­¬ng tr×nh tÝnh gi¸ trÞ biÓu thøc:

F(x) = (x2+ex+sin2(x))/sqrt(x2+1)

Ch­ư¬ng II: c¸c cÊu tróc ®iÒu khiÓn

1.     ViÕt ch­ư¬ng tr×nh nhËp vµo mét sè nguyªn n. KiÓm tra xem n ch½n hay lÎ.

2.     ViÕt ch­¬ng tr×nh gi¶i vµ biÖn luËn ph­¬ng tr×nh bËc nhÊt theo hai hÖ sè a, b nhËp tõ bµn phÝm.

3.     ViÕt ch­¬ng tr×nh gi¶i vµ biÖn luËn ph­¬ng tr×nh bËc hai víi c¸c hÖ sè a, b, c nhËp tõ bµn phÝm.

4.     ViÕt ch­¬ng tr×nh nhËp vµo sè tiÒn ph¶i tr¶ cña kh¸ch hµng. In ra sè tiÒn khuyÕn m·i víi quy ®Þnh: nÕu sè tiÒn ph¶i tr¶ thuéc [200.000, 300.000) th× khuyÕn m·i 20%. NÕu sè tiÒn ph¶i tr¶ tõ 300.000 trë lªn th× khuyÕn m·i 30%. Cßn l¹i th× kh«ng khuyÕn m·i.

5.     ViÕt ch­ư¬ng tr×nh nhËp vµo ®iÓm tæng kÕt cña mét häc sinh vµ in ra xÕp lo¹i cho häc sinh ®ã víi quy ®Þnh:

-         XÕp lo¹i giái nÕu tæng ®iÒm tõ 8.00 trë lªn.

-         XÕp lo¹i kh¸ nÕu tæng ®iÓm tõ 7.00 tíi cËn 8.00.

-         XÕp lo¹i trung b×nh nÕu tæng ®iÓm tõ 5.00 tíi cËn 7.00.

-         Cßn l¹i, xÕp lo¹i yÕu.

-------------------

6.     ViÕt ch­¬ng tr×nh nhËp vµo mét th¸ng bÊt kú, sau ®ã in ra sè ngµy cã trong th¸ng (quy ®Þnh th¸ng 2 cã 28 ngµy).

-------------------

7.     ViÕt chư­¬ng tr×nh tÝnh n!

8.     NhËp vµo mét sè nguyªn, kiÓm tra xem mét sè võa nhËp cã ph¶i lµ sè nguyªn tè kh«ng, in kÕt luËn ra mµn h×nh.

9.     ViÕt ch­¬ng tr×nh nhËp vµo mét sè nguyªn n, sau ®ã tÝnh gi¸ trÞ biÓu thøc:

S =

10.            ViÕt ch­¬ng tr×nh nhËp vµo mét sè nguyªn n, sau ®ã tÝnh gi¸ trÞ biÓu thøc

F =

11.            ViÕt ch­¬ng tr×nh nhËp vµo mét sè thùc x vµ sè nguyªn n, sau ®ã tÝnh gi¸ trÞ biÓu thøc:

S =

12.            ViÕt ch­¬ng tr×nh nhËp vµo mét sè nguyªn n trong kho¶ng [10, 20] (nÕu sè nhËp vµo kh«ng thuéc kho¶ng ®ã th× yªu cÇu nhËp l¹i tíi khi tho¶ m·n). Sau ®ã tÝnh tæng c¸c sè liªn tiÕp tõ 1 tíi n.

13.             ViÕt ch­¬ng tr×nh nhËp vµo mét sè nguyªn d­¬ng n, sau ®ã tÝnh tæng c¸c gi¸ trÞ ch½n, lÎ thuéc ®o¹n [1, n].

14.            ViÕt ch­¬ng tr×nh nhËp vµo c¸c sè nguyªn d­¬ng n, m, sau ®ã in ra:

-         Tæng c¸c sè ch½n d­¬ng trong kho¶ng [- n, m].

-         Tæng c¸c sè ch½n ©m trong kho¶ng [- n, m].

-         Tæng c¸c sè lÎ d­¬ng trong kho¶ng [- n, m].

-         Tæng c¸c sè lÎ ©m trong kho¶ng [- n, m].

15.            ViÕt ch­¬ng tr×nh nhËp vµo mét sè nguyªn n, sau ®ã tÝnh tæng c¸c sè nguyªn tè thuéc ®o¹n [1..n]. Cho biÕt cã bao nhiªu sè nguyªn tè thuéc ®o¹n ®ã.

16.             Dïng while (sau ®ã viÕt l¹i, dïng do/ while) ®Ó viÕt ch­¬ng tr×nh in ra sè lµ luü thõa 2 bÐ nhÊt lín h¬n 1000.

17.            Cho d·y sè x[] = { 12.3,  -45.4, 12, 15, 10.1, 12.5}. ViÕt ch­¬ng tr×nh ®¶o ng­îc d·y sè trªn.

18.             ViÕt ch­¬ng tr×nh t×m sè nguyªn d­¬ng n nhá nhÊt tho¶ m·n: 1 + 2 + 3 + … + n > 1000.

19.             §Ó tÝnh c¨n bËc hai cña mét sè d­¬ng a, ta sö dông c«ng thøc lÆp sau:

x(0) = a;

x(n+1) = (x(n) * x(n) + a)/ (2* x(n)) víi n >=0.

Qu¸ tr×nh lÆp kÕt thóc khi abs((a(n+1) – x(n))/x(n)) < e.

vµ khi ®ã x(n+1) ®­îc xem lµ gi¸ trÞ gÇn ®óng cña sqrt(a).

ViÕt ch­¬ng tr×nh tÝnh c¨n bËc hai cña a víi ®é chÝnh x¸c e = 0.00001.

20.             LËp tr×nh ®Ó tÝnh sin(x) víi ®é chÝnh x¸c e = 0.00001 theo c«ng thøc :

sin(x) =  x – x3/3! + x5/ 5! + …+ (-1)nx(2n+1)/ (2n+1)!.

21.             LËp tr×nh ®Ó tÝnh tæ hîp chËp m cña n theo c«ng thøc:

C(m, n) = (n(n-1)…(n-m+1))/ m!.

Ch­¬ng III: kü thuËt lËp tr×nh ®¬n thÓ

1.     ViÕt hµm kiÓm tra xem mét sè nguyªn n cã ph¶i lµ sè nguyªn tè kh«ng. Sau ®ã, trong ch­¬ng tr×nh chÝnh, nhËp vµo mét sè nguyªn n, kiÓm tra tÝnh nguyªn tè cña sè n vµ th«ng b¸o ra mµn h×nh.

2.     ViÕt hµm tÝnh n! sau ®ã, trong ch­¬ng tr×nh chÝnh, nhËp vµo mét sè nguyªn n vµ tÝnh, in ra kÕt qu¶ cña biÓu thøc:

S =

3.     ViÕt hµm tÝnh gi¸ trÞ biÓu thøc F (trong bµi sè 10 ch­¬ng II) víi ®èi vµo lµ n. Sau ®ã, trong ch­¬ng tr×nh chÝnh, nhËp vµo hai sè a, b, tÝnh vµ in ra mµn h×nh kÕt qu¶ cña biÓu thøc:

S =

4.     ViÕt hµm s¾p xÕp mét chuçi ký tù (tõ A->Z). Sau ®ã, trong ch­¬ng tr×nh chÝnh, nhËp vµo mét x©u ký tù bÊt kú, in x©u ®· ®­îc s¾p lªn mµn h×nh.

5.     ViÕt ch­¬ng tr×nh gi¶i ph­¬ng tr×nh trïng ph­¬ng : ax4 + bx2   + c = 0.

Kü thuËt §Ö quy

6.     USCLN cña hai sè a, b ®­îc ®Þnh nghÜanh­ sau:

 USCLN(a, b) = a nÕu b = 0    

                       = USCLN(b, a%b) nÕu b <> 0

ViÕt hµm ®Ö quy t×m USCLN cña hai sè nguyªn a, b. Trong ch­¬ng tr×nh chÝnh, nhËp vµo hai sè nguyªn a, b. T×m vµ in USCLN cña hai sè ®ã lªn mµn h×nh.

7.     USCLN cña hai sè a, b ®­îc ®Þnh nghÜanh­ sau:

 USCLN(a, b) = a nÕu a = b     

                       = USCLN(a-b, b) nÕu a > b

                     = USCLN(a, b-a) nÕu a < b

ViÕt hµm ®Ö quy t×m USCLN cña hai sè nguyªn a, b. Trong ch­¬ng tr×nh chÝnh, nhËp vµo hai sè nguyªn a, b. T×m vµ in USCLN cña hai sè ®ã lªn mµn h×nh.

8.     ViÕt hµm t×m kiÕm ®Ö quy trªn mét d·y sè nguyªn ®· ®­îc s¾p.

9.     C¸c sè Fibonacci F[i] ®­îc ®Þnh nghÜa ®Ö quynh­ sau:

F[0] =1; F[1] =1;

F[i] = F[i-1] + F[i-2]  (víi i > 1);

(VD: 1, 1, 2, 3, 5, 8, 13…)

ViÕt hµm ®Ö quy t×m sè Fibonacci thø n trong d·y.

10.            ViÕt hµm ®Ö quy tÝnh n!. (n Î Z+)

11.            ViÕt hµm ®Ö quy tÝnh f(x, n) = xn. (xÎR, n Î Z). ViÕt ch­¬ng tr×nh chÝnh sö dông hµm trªn ®Ó nhËp vµo sè nguyªn n, sè thùc x tõ bµn phÝm. TÝnh vµ in ra mµn h×nh gi¸ trÞ cña f(x, n).

12.             ViÕt hµm ®Ö quy tÝnh f(x, n) = n!xn. (xÎR, n Î Z). ViÕt ch­¬ng tr×nh chÝnh sö dông hµm trªn ®Ó nhËp vµo sè nguyªn n, sè thùc x tõ bµn phÝm. TÝnh vµ in ra mµn h×nh gi¸ trÞ cña f(x, n).

13.            ViÕt hµm ®Ö quy ®Ó ®Õm sè ch÷ sè cã trong mét sè nguyªn bÊt bú (VÝ dô sè 1263 cã 4 ch÷ sè…). ViÕt ch­¬ng tr×nh chÝnh sö dông hµm trªn ®Ó cho phÐp nhËp vµo mét sè nguyªn bÊt kú. In ra mµn h×nh sè ch÷ sè cña sè nguyªn võa nhËp.

14.             D·y Catalan ®­îc ®Þnh nghÜa ®Ö quynh­ sau:

C1 = 1;         

Cn =  S Ci* Cn-i" n > 1.

VÝ dô: { 1,  1,  2,  5,…}

H·y x©y dùng hµm ®Ö quy tÝnh sè Catalan thø n bÊt kú (n  Î Z +). ViÕt ch­¬ng tr×nh chÝnh sö dông hµm trªn ®Ó tÝnh sè Catalan thø n bÊt kú víi n nhËp tõ bµn phÝm (n  Î Z +).

Ch­¬ng IV: kü thuËt lËp tr×nh dïng m¶ng.

1.     Cho hai vector x(x1, x2…xn) vµ y(y1, y2…yn). ViÕt ch­¬ng tr×nh in ra TÝch v« h­íng cña hai vector trªn.

2.     Cho hai m¶ng a vµ b cã c¸c phÇn tö ®Òu ®· ®­îc s¾p t¨ng. LËp ch­¬ng tr×nh trén hai m¶ng trªn ®Ó thu ®­îc mét m¶ng thø 3 còng s¾p theo thø tù t¨ng b»ng hai ph­¬ng ph¸p.

3.     ViÕt ch­¬ng tr×nh nhËp vµo mét m¶ng n sè nguyªn, s¾p xÕp m¶ng theo chiÒu t¨ng dÇn vµ in kÕt qu¶ lªn mµn h×nh b»ng c¸c ph­¬ng ph¸p:

-         S¾p xÕp næi bät.

-         S¾p xÕp chän.

-         S¾p xÕp chÌn.

4.     ViÕt ch­¬ng tr×nh nhËp vµo mét m¶ng n sè nguyªn, tÝnh tæng c¸c phÇn tö ch½n, c¸c phÇn tö lÎ, c¸c phÇn tö chia hÕt cho 3 vµ in kÕt qu¶ ra mµn h×nh.

5.     ViÕt ch­¬ng tr×nh nhËp vµo mét d·y sè thùc, t×m phÇn tö lín nhÊt (t­¬ng tù, t×m phÇn tö nhá nhÊt) cña d·y vµ in kÕt qu¶ ra mµn h×nh.

6.     ViÕt ch­¬ng tr×nh nhËp vµo mét d·y sè nguyªn. TÝnh tæng cña c¸c sè nguyªn tè trong d·y vµ in kÕt qu¶ ra mµn h×nh.

7.     ViÕt ch­¬ng tr×nh nhËp vµo mét d·y sè nguyªn vµ mét sè nguyªn c. §Õm sè lÇn xuÊt hiÖn vµ vÞ trÝ xuÊt hiÖn cña c trong d·y. In c¸c kÕt qu¶ ra mµn h×nh.

8.     ViÕt ch­¬ng tr×nh nhËp vµo mét d·y n sè nguyªn. TÝnh trung b×nh céng cña d·y vµ in kÕt qu¶ tÝnh ®­îc ra mµn h×nh.

9.     Mét d·y sè a gäi lµ ®­îc s¾p t¨ng nÕu a[i] <= a[i+1] víi mäi i;

D·y gäi lµ ®­îc s¾p gi¶m nÕu a[i] >= a[i+1] víi mäi i;

D·y gäi lµ ®­îc s¾p t¨ng ngÆt nÕu a[i] < a[i+1] víi mäi  i;

D·y gäi lµ ®­îc s¾p gi¶m ngÆt nÕu a[i] > a[i+1] víi mäi i;

ViÕt ch­¬ng tr×nh nhËp mét d·y n sè thùc, kiÓm tra xem d·y ®· ®­îc s¾p hay ch­a. NÕu ®· ®­îc s¾p th× s¾p theo trËt tù nµo (t¨ng, t¨ng ngÆt, gi¶m, gi¶m ngÆt?). NÕu ch­a th× s¾p xÕp d·y theo chiÒu t¨ng dÇn. In c¸c kÕt qu¶ lªn mµn h×nh.

10.            ViÕt hµm t×m kiÕm lÆp trªn mét d·y sè nguyªn ®· ®­îc s¾p víi ®é phøc t¹p tèt h¬n O(n).

11.            ViÕt ch­¬ng tr×nh nhËp vµo mét ma trËn m x n sè nguyªn. T×m c¸c phÇn tö lín nhÊt vµ bÐ nhÊt trªn c¸c dßng (t­¬ng tù c¸c cét) cña ma trËn. (sö dông for sau ®ã dïng while, do/ while).

12.            ViÕt ch­¬ng tr×nh t×m phÇn tö ©m ®Çu tiªn trong ma trËn (theo chiÒu tõ tr¸i qua ph¶i, tõ trªn xuèng d­íi).

13.            ViÕt ch­¬ng tr×nh nhËp vµo mét ma trËn m x n sè nguyªn. T×m phÇn tö lín nhÊt (t­¬ng tù t×m phÇn tö nhá nhÊt) cña ma trËn võa nhËp. In kÕt qu¶ ra mµn h×nh. Cã thÓ söa l¹i bµi ®Ó t×m phÇn tö lín nhÊt (nhë nhÊt) trªn c¸c cét (c¸c dßng) ®­îc kh«ng?

14.            ViÕt ch­¬ng tr×nh nhËp vµo hai ma tr©n A, B cã n hµng, m cét. TÝnh ma trËn C = A + B vµ in kÕt qu¶ ra mµn h×nh.

15.            ViÕt ch­¬ng tr×nh nhËp vµo hai ma trËn A, B, tÝnh vµ in ra mµn h×nh tÝch cña hai ma trËn ®ã.

16.            ViÕt ch­¬ng tr×nh nhËp vµo mét ma trËn A cã n dßng, m cét. In ra mµn h×nh ma trËn chuyÓn vÞ cña A. (A’ ®­îc gäi lµ ma trËn chuyÓn vÞ cña A nÕu A’[i, j] = A[j, i] víi mäi i, j).

17.             Ma trËn A ®­îc gäi lµ ®èi xøng qua ®­êng chÐo chÝnh nÕu A[i, j] = A[j, i] víi mäi i kh¸c j. ViÕt ch­¬ng tr×nh nhËp vµo mét ma trËn A, kiÓm tra xem A cã ®èi xøng qua ®­êng chÐo chÝnh kh«ng. In kÕt luËn lªn mµn h×nh.

Ch­¬ng V: Kü thuËt lËp tr×nh dïng con trá

TÊt c¶ c¸c bµi tËp vÒ m¶ng ë trªn ®Òu cã thÓ söa l¹i ®Ó dïng con trá thay v× dïng m¶ng. Ngoµi ra h·y cµi ®Æt thªm c¸c bµi tËp sau:

1.     ViÕt ch­¬ng tr×nh nhËp vµo mét m¶ng a gåm n phÇn tö nguyªn. S¾p xÕp m¶ng theo chiÒu gi¶m dÇn (l­u ý sö dông tªn m¶ng nh­ con trá vµ sö dông con trá).

2.      H·y dïng mét vßng for ®Ó nhËp vµo mét ma trËn vu«ng cÊp n víi c¸c phÇn tö thùc vµ t×m phÇn tö Max cña ma trËn nµy.

3.     ViÕt hµm ho¸n vÞ hai biÕn thùc a, b b»ng c¸ch sö dông con trá (®èi vµo lµ hai con trá). ViÕt ch­¬ng tr×nh chÝnh nhËp hai sè thùc a, b. Sö dông hµm trªn ®Ó ®æi chç a vµ b.

4.     ViÕt hµm gi¶i hÖ ph­¬ng tr×nh bËc nhÊt víi s¸u ®èi vµo lµ a, b, c, d, e, f vµ 2 ®èi ra lµ x vµ y.

5.     ViÕt hµm tÝnh gi¸ trÞ ®a thøc:

f(x) = a0xn + … + an-1x + an. víi ®èi vµo lµ biÕn nguyªn n vµ m¶ng thùc a.

6.     ViÕt hµm céng hai ma trËn vu«ng a vµ b cÊp n (sö dông con trá).

7.     ViÕt ch­¬ng tr×nh tÝnh tÝch ph©n cña f(x) trªn ®o¹n [a, b] b»ng c«ng thøc h×nh thang. Theo ®ã, tÝch ph©n cña f(x) trªn [a, b] b»ng: h * s. Trong ®ã:

h lµ ®é dµi kho¶ng ph©n ho¹ch ®o¹n [a, b] thµnh n kho¶ng.

s lµ tæng tÊt c¶ c¸c f(a+i*h) víi i tõ 1 tíi n.

Sö dông hµm trªn ®Ó tÝnh tÝch ph©n trong ®o¹n [-1, 4] cña:

f(x) = (ex-2sin(x2))/ (1+x4). (nghiªn cøu c¸ch ®­a con trá vµo gi¶i quyÕt bµi to¸n).

//================Tham kh¶o code mét sè hµm ®Ö quy========

#include "iostream.h"

#include "conio.h"

//hµm tÝnh n giai thõa =======================================

long gt(int n)

{

if (n==0)

            return 1;

else

            return n*gt(n-1);

}

//hµm t×m sè Fibonacci thø n===========================

long Fibo(int n)

{

if (n<=1)

  return 1;

else

 return Fibo(n-1)+ Fibo(n-2);

}

//hµm USCLN cña a va b===============================

int USCLN(int a, int b)

{

if (b==0)

  return a;

else

  return USCLN(b, a%b);

}

//Hµm main=========================================

void main()

{ int n;

cout<<"nhap n ";

cin>> n;

long S = gt(n);

cout<<"n gt "<<S;

getch();

//=====================================

long T = Fibo(n);

cout<<"

so fibonaci thu "<<n<<" la "<<T;

getch();

//=====================================

int a, b;

cout<<"nhap a ";

cin>> a;

cout<<" nhap b ";

cin>>b;

cout<<"

USCLN cua "<<a<<" va "<<b<<" la "<<USCLN(a,b);

getch();

}

Bạn đang đọc truyện trên: truyentop.pro

Tags: #noname