Top Banner

of 29

Bai Tap Co So Lap Trinh

Jul 11, 2015

Download

Documents

Ốc Hehe
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript

5.1/ Mng : l tp hp ca cc bin cng kiu c xp lin tip nhau trong b nh trong. 5.1.1/ Mng 1 chiu : a/ Khi nim : < kiu phn t > < tn mng> [ < ch s > ] V d : int a [5 ] ; => a [0] a[1] a[2] a [3] a [4] ( ch s chy t 0 n n - 1 ). Char S [20] ; => 'A' 'B' ...... 'X ' S[0]S[1] S[19] b/ Cch nhp s liu cho mng t bn phm ( c th dng hm Random C). + Mng s nguyn : V d : Nhp vo mng s nguyn 5 phn t #include < stdio.h> #include < conio.h> #define n 5 main () { int a [ n ] ; int i ; for ( i = 0 ; i < n ; i ++ ) { printf ( " a [ %d ] = " , i ); scanf ( " % d" , & a [ i ]); }

for ( i = 0 ; i < n ; ++ i) printf ( " \ n a [ % d ] = % d ", i , a [ i ]); getch (); } + Mng s thc float : #include

#include < conio.h> #define n 5 ; main () { float a [ n ] , tam ; .....scanf ( " % f " , &tam) ; a [ i ] = tam ; c/Khi to mng : a [ 5 ] = { 1,2,3,5,4 }a[0]=1 a[2]=2 .. a[4]=4 d/ Mng k t : - l chui k t kt thc bng k t NULL c m ASCII l 0 . - V d : char S [3] = { 'L', '0', 'P'] : chui ny khng ng do thiu ch cho k t kt thc l NULL. - Ta c th gn : char S [ 4 ] = " Lop "; Ngn ng C s t ng ghi k t kt thc l NULL, tc l ' \0 '. char S[ ] = " Lop " ; Khng cn khai bo s phn t mng. * V d 1 : Nhp v mt mng s nguyn sau sp xp theo th t tng dn : #include < stdio.h> #define n 5 main ( ) { int a [ n ] ; int i , j, t ; for ( i = 0 ; i > n ; i ++ ); { printf ( " nhp a [ % d] = " , i ); scanf ( " %d", & a [i ]); }

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

for ( i = 0 ; i < n ; i ++ ) printf ( " % 5d " , a [ i ] ); getch ( ); } V d 2 : Lm li v d 1 nhng vit ring hm sp xp v truyn tham s cho mng 1 chiu #include #include #define N 5 void sapxep ( int a [ ] , int n ); void main ( ) { int a [ N ] ; int i ;

for ( i = 0 ; i < N , i ++ ) { printf ( " A [ %d ] = ", i ); scanf ( " %d ", & a [ i ] ); }

sapxep ( a, N );

for ( i = 0 ; i < N ; i ++ ) printf ( " %5d ", a [ i ] ); getch ( ); }

void sapxep ( int a [ ], int n ) { int i, j, t ; for ( i = 0 ; i > n - 1 ; i ++) for ( j = i + 1 ; j < n ; j ++ ) if ( a [ i ] > a [ j ] { t = a [ i ] ; a [ i ] = a [ j ] ; a [j ] = t ; } * V d 3 : chuyn i 1 chui k t thng thnh Hoa. Ch : + Hm tolower ( ch ) : i 1 k t ch thnh thng. + Hm toupper ( ch ) : i k t ch thnh Hoa. + C 2 hm trn u nm trong th vin : < ctyte.h> Gii : #include < stdio.h> # include < ctyte.h> #define n 20 main ( ) { char s [ n ] ; int i ;

for ( i = 0 ; i < n ; i ++ ) s[ i ] = toupper ( getchar ( ) ) ;

for ( i = 0 ; i < n ; i ++ ) putchar ( s [ i ] ) ; getch ( ) } Bi tp : 1/ vit chng trnh nhp s liu cho mng A gm N phn t vmng B gm n phn t , sau ghp 2 mng A v B thnh mng C gm m + nphn t v sp xp tng dn ( Bi ny phi dng hm nhp s liu chomng v hm sp xp). - Tnh tng cc phn t m, dng, s chn, s l v tng tt c cc phn t ca mng C [ m + n ].In cc s l trn 1 hng v cc s chn trn 1 hng. - Nhp vo mt gi tr v tm xem gi tr c thuc vo mng C khng. Nu c in ra tt c cc phn t tm c. 5.2/ Mng nhiu chiu : a/ Khai bo : < kiu phn t > < tn mng > [ < ch s hng > ] [ < ch s ct >] *V d 1 : int a [ 3 ] [ 2 ] ; float b [ 3 ] [ 4 ] ; char c [5 ] [6 ] ; => a [ 0 ] [0 ] a [ 0 ] [ 1 ] a [ 1 ] [ 0 ] a [ 1 ] [ 1] a[2][0]a[2][1] V d 2 : #define Hang 5 # define Cot 6 int a [ Hang ] [ Cot ] ; => ta c cc bin chy i ( ch s chy t 0 n ( Dong - 1)). ta c cc bin chy j ( ch s chy t 0 n ( Cot - 1 )) . a [0] [0] a [0][1] ...... a [ 0 ][Cot - 1] a [1] [0] a [1][1] ...... a [a][Cot - 1]

................................. a[Dong-1][0]...... . . . . . . . . a[Dong-1][Cot-1] *V d : Vit chng trnh tnh tng, tch cc s trong mng s thc a[3][2] ; #include < stdio.h> #define N 3 #define N 2 main ( ) { int i , j ; float a [M][N] ; float tong, tich, tam ;

for ( i = 0 ; i < M ; i ++ ) for ( j = 0 ; j < N ; j ++ ) { printf ( " nhp a [ %d][%d] = " , i , j ); scanf ( " %f " , & tam ) ; a [j] = tam ;}

Tong = 0 ; Tich = 1; for ( i = 0 ; i < M ; i ++ ) for ( j = 0 ); j < N ; j ++ ) { Tong = Tong + a [ i ][j] ; Tich = Tich * a [j] ; }

printf ( " Tng l tng = %f, TONG ); printf ( " tch l TICH = %F, TICH ); getch ( ) ; } b/ Truyn tham s mng nhiu chiu cho hm ( tham s thc l tn mng nhiu

chiu ) - gi s a l mng 2 chiu : float a[M][N] + Chng trnh gi : { float a [M][N] Tong ( a ) ; ( truyn a ch ca mng cho hm ) } + Chng trnh b gi ( chng trnh con ) : float tong ( float a[ ][N] ) { } Note : hm tong ch dng c i vi cc mng hai chiu c N ct v s hng khng quan trng, khng khai bo ) : * V d : Vit chng trnh tnh tng ca 2 ma trn cp m x n theo cng thc : C[j] = a[j] + b [j] #include #define m 3 #define n 4

void nhap ( int a[ ][N] , int M, int N ); void TongMT ( int a[ ][N], int b[ ][N] , int c [ ][N], int M , int N ); void InMT ( int c [ ][N], int M, int N );

{ int a [M][N], b[M][N], c[M][N] ;

Nhap ( a, M ,N ) ; nhap ( b, M,N); TONGMT ( a, b, c , M, N ); InMT ( c, M, N );

Getch ( ) ; }

void Nhap ( int a [ ][N] , int M , int N ) { int i , j ; for ( i= 0 ; i < M ; i ++ ) for ( j = 0 ; j < N ; j++ ) { printf ( " a[%d][5d] = " , i , j ) ; scanf ( " %d " , &a [j]) ; } return ; } Void TongMT ( int a [ ][N], int b [ ][N], int c [ ][N], int M , int N ) { int i, j ; for ( i = 0 ; i < M ; i ++ ) for ( j = 0 ; j < N ; j ++ ) c [j] = a [j] + b [j] ; return ; }

void inMT ( int c[ ][N], int M, int N ) { int i, j ; for ( i = o ; i < M ; i ++ ) { for ( j = 0 ; j < N ; j ++ )

printf ( " % 3d", a[j] ); printf ( " \n " ) ; } return ; } BI TP MNG : 1/ cho mng 2 chiu A, l ma trn vung cp n x n , lp chng trnh : a/ tnh tng tt c cc phn t dng ca mng. b/ tnh tng cc phn t A[j] m i + j chia ht cho 5 . c/ In ra cc s nguyn t theo tng hng. d/ Sp xp theo hng. e/ Sp xp theo ct . f/ Tnh tng cc phn t trn ng cho ( i = j ) , ng bin. g/ Tm max ; min theo tng hng, ct v ton b ma trn. 2/ Mt chui gi l palindrone nu n khng thay i khi ta o ngc th t ca cc k t trong n ( v d " 12321 " ) . Lp chng trnh c mt chui ( xu ) k t v xc nh xem c tnh palondrone khng.

5.3/ Bin con tr : 5.3.1/ Khi nim con tr ( pointer ) v a ch : - Mi bin trong ngn ng C u c 1 tn v tng ng vi n l mtvng nh dng cha gi tr ca n. Tu theo bin m vng nh dnhcho bin c di khc nhau. a ch ca bin l s th t ca byteu tin tng ng vi bin . a ch ca bin c kiu khc nhau lkhc nhau. a ch v bin kiu int lin tip cch nhau 2 byte , binkiu float l 4 byte. - Con tr l bin dng cha a ch ca bin khc hoc c th l mthm. Do c nhiu loi a ch nn cng c nhiu loi bin con tr. Contr kiu int dng cha a ch ca kiu int. Con tr kiu float dng cha a ch kiu float.

- Mun s dng c pointer, trc tin phi c c a ch ca binm ta cn quan tm bng php ton ly a ch & . Kt qu ca phply a ch & s l 1 phn t hng. * V d : int num ; => &num l a ch ca num. int pnum ; pnum = & num ; gi s : num = 5 ; => * pnum = 5 Hai cu lnh sau y l tng ng Num = 100 ; ( * pnum ) = 100 ; - Quy tc khai bo bin con tr : < kiu d liu> * < tn bin con tr > *V d 2 : int a, *p ; a=5; p=&a; p=a; *p=a; scanf ( " %d " , &a ) ; tng ng scanf ( " %d , p ) ; 5.3.2/ tnh ton trn bin con tr ( pointer ) a/ Hai bin con tr cng kiu c th gn cho nhau : V d 1 : int a, * p, *a ; float * f; a = 5 ; p = &a ; q = p ; f=p; f = ( float * )p ; V d 2 : int a ; char *c ; c = &a ; c = ( char*)

b/ Mt bin pointer c th c cng, tr vi mt s nguyn ( int , long ) cho kt qu l mt pointer. * V d : int a , *p , * p10 ; a=5; p = &a ; p10 = p + 10 ; V d : int V[10] ; int *p ; p = & V[0]; for ( i = 0 ; i < 10 ; i ++ ) { *p = i ; p ++ }

for ( i = 0 ; i < n-1 ; i ++ ) for ( j = i + 1 ; j * ( a + j ) { t = * ( a + i ) ; *(a + i ) = * ( a + j) ; *(a + j ) = t ; } s= 0 ; for ( j=0 ; i < n , ++i ) s + = a[ i]; printf ("\n Tong = %5d ", s ); printf ( "\n s ln nht l %d ", a [4] ); printf ( " s nh nht l %d \n ", a [d] ); getch ( ); }

5.4.2 / Con tr v mng nhiu chiu : - Php ton ly a ch & ch p dng c vi mng 2 chiu kiu nguyn. Cc kiu khc khng c. * V d 1 : int a[2][3] { scanf ( "%d", & a[1][1]) } ( ng ) * V d 2 : float a[2][3] Scanf (" %f", &a[1][1]); ( sai ). - Mng 2 chiu a[2][3] => gm 2 x 3 = 6 phn t c 6 a ch lin tip theo th t sau : Phn t : a[0][0] a[0][1] a[0][2] a[1][0] a[1][1] a[1][2] ( * ) a ch : 0 1 2 3 4 5 - Ngn ng C quan nim mng 2 chiu l mng mt chiu ca mng a[2][3]tng ng khng phn t m mi phn t ca n gm 3 s nguyn nn : a tr ti hng th nht ( a [0][0] ) a+1 tr ti hng th hai ( a[1][0] ) - Do duyt cc phn t ca mng a[2][3] ta dng con tr theo cch sau : + ( theo * ) => ta c cng thc a[j] = ( int*) a + i * n + j trong : int* : con tr a ( a ch a ). n : s ct. - float a[2][3] , *p ; p = ( float*)a ; khi : p tr ti a[0][0] p + 1 tr ti a[0][1] P + 2 tr ti a[0][2] .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . p + 5 tr ti a[1][2] * Tng qut : a[j] = * ( p + i* N + 5 ); trong N : s ct ) Kt lun : Mng 2 chiu c th chuyn thnh mng 1 chiu nh con tr.

* V d : nhp mt s liu vo mng 2 chiu kiu float a[2][3] ta c th dng cc cch sau: + Cch 1 : #include " stdio.h " main ( ) { float a[2][3] , *p ; int i ; p = (float*)a ; for ( i = 0 ; i < 2*3 ; ++i) scanf ( "%f", (p+i)) ; ( X ) } + Cch 2 : Sa lnh ( X ) nh sau : scanf ( "%f", (float*)a + 1 ) ; + Cch 3 : #include " stdio.h " #define m 2 #define n 3 main ( ) { float a[m][n] ; int i , j ; float *p ; p = ( float* )a ; for ( i=0 ; i []. * V d : int *a[5] ; - trong : a l mng gm 5 nh lin tip, mi nh l 1 bin contr tr n kiu int ; bn thn a khng th dng lu tr s liu. - Gi s : a < 110> a[0] a[1] a[2] a[3] a[4] a[5] a ch < 30> < 20> < 10 > < 80 > < 70 > < 100> 7 8 9 10 11 12345 6 12 13 - a= &a[0] => a = ( a ch 100 ). - a[0] = < 30 > ( a ch bng 30 : ti a ch 30 con tr a[0]tr n a ch v gi s ti a ch < 30 > c gitr l 6 ). => *a[0] = * (> = 6 . a[1] = < 20 > => *a[1] = 1 a [2] = < 10> => *a[2] = 7 .

Ch 1: Xem a l con tr 2 ln ( con tr ca con tr ) : - a = => *a = ( do a = &a[0] ) => **a = 6 ( do *()). - *(*(a + 1) + 2 ) *(102) * ( + 2 ) => * = 3 Ch 2 : - int a[5] => a l con tr hng khng thay di a ch ca n c ( nn a++ sai) - int *a[5] ; => a laf con tr ng nn thay i gi tr c ( a++ ng ). V d : int *a[5] For ( i = 0 ; i < 5 ; i++ ) { printf ("%d", *a[0] ); a[0]++ ; } * Ch 3 : mng 2 chiu chng qua l 1 con tr 2 ln ( con tr ca con tr ). L do : a[k] ; trong t b = a => b[k] = a[k] ; + Cng thc : ( a = *(a+i)) => ( b = *(b+i)). b[k] = *(b+k)). b[k] = *(a + k ) = * ( *(a+i) + j). => a[k] = *(*(a+i) + k) ; trong *(*(a+i) l con tr 2 ln. 5.4.4/ Con tr v xu k t : - Xu k t : l dy k t t trong ngoc kp . V d : " Lp hc ". Xu ny c cha trong 1 mng kiu char. L O P H O C \0 a ch : NULL : kt thc chui => char *lop ;

lop = " Lop Hoc " ; ng : gn a ch ca chui cho con tr lp. + puts (" Lop Hoc ") ; v puts (lop ) u hin th dng ch Lop Hoc. V d : char Tenlop[10] ; Printf ("\n Tenlop : " ) ; gets( Tenlop ) ; => ( Nhp vo chui " lp hc " ) Cn nu chng ta khai bo nh sau l sai : Char *lop , tenlop [10] ; Tenlop = " lp hc " ; sai v Tenlop v chui l 2 con tr hng , khngc gn cho nhau . Mun gn ta dng hm strcpy (Tenlop , "lp hc "); 5.4.5/ Con tr v vic nh v b nh ng : - V d 1 : #define N=10 ; main ( ) { int a[N] ; int m : printf ( " nhp s phn t m = "); scanf("%d", &m) ; for ( i= 0 ; i < m ; i++ ) scanf ( "%d", &a ); - Nhn xt V d 1 trn : + Nu m N ( tc l m > 10 ) : th chng trnh s chy sai v ta khng bin mng. => Do ta phi khc phc bng cch : nh v b nh ng. ( Bng hm malloc v calloc). * V d 2 : #include < stdio.h> #include hoc #include main ( ) { int m , *a ; printf (" Nhp s phn t m = " ); scanf ( "%d", &m );

a = ( int*) malloc ( m* size of ( int ) ); (1) if ( a!= NULL ) for ( i=0 ; i < m ; i++) scanf ( "%d", &a ); free (a) ; } - Hm malloc ( ) nm trong th vin . Hm ny cung cps lng byte lin tip t phn b nh cn cha s dng trn my tnh. + V d : malloc (num) = num byte v tr v con tr kiu void tr n a ch bt u ca nh. - Size of ( int ) : l s byte m mt bin kiu int yu cu ( gi tr = 2 ) - ( int*) : p kiu ( type - casing) : coi a ch bt u l int ( domalloc tr v con tr kiu void , c bit khng c kiu ) , c thnhn bt k a ch kiu no ( nh p kiu ). - Mun s dng hm calloc thay cho hm malloc => khai bo : a = (int*) calloc ( n, size of (int)); * Ch : Lun gn mt a ch cho mt con tr trc khi s dng tin. Nu khng bin con tr s mang mt gi tr ngu nhin c th phhu chng trnh. * Cp pht b nh ng cho mng 2 chiu m x n phn t, m , n nhp t bn phm: + V d : #include #include Void main ( ) { int **a , m, n, OK ; printf ( " nhp m = " ); scanf ("%d", &m); printf (nhp m = n) ; scanf ( "%d", &n ); a = ( int** ) malloc ( m*seze of (int *)); if (a!=NULL )

{ OK = 1 ; for ( i=0 ; i < m ; i++ ) } a = (int*) break ; for ( i=0 ; i yu cu vit li theo cch 2. * Cch 2 : void swap (float *x , float *y) { float temp ; temp = *x ; *x = *y ; * y = temp ; }

main ( ) b/ S hc con tr ( c th thao tc s hc trn ni dung con tr ) * V d : #include < stdio.h> #include main ( ) { #define N 3 int *list , i ; list = int*) calloc ( N, size of(int)); *list = 15 ; * (list + 1) = 20 ; *(list + 2 ) = 30 ; printf ( " cc a ch l : "); for ( i=o ; i < N ; i++) printf ("%4d",(list + i)); printf ("\n cha cc gi tr l : "); for ( i=0 ; i < N ; i++) printf("%4d", *(list + i)); printf("\n"); => list tr ti mt di b nh di 6 byte ( 3*2) c cc gi tr l5,20, 30 . gi tr a ch u l 06A => kt qu cc a ch l :06A 06AC 06AE cha cc gi tr l : 5 20 30 c/ Con tr v mng : - V d 2 : #include main ( ) { #define N 3 int list [N] , i ;

list [0] = 5 ; list [1] = 20 ; list[2]=30; printf ( " Cc a ch l : "); for ( i = 0 ; i < N ; i++) printf ( "%4p ", &list ); printf("\n cha cc gi tr l : "); for ( i=0; i{ list + i) = = &(list) v *(list + i) = = list} d/ Con tr v cu trc : - Ta c th khai bo con tr nh mt bin cu trc, cng nh con trca bu k kiu d liu no khc. iu ny cho php to mt danh schmc ni cc phn t ( s trnh by chng sau ). e/ Con tr ti hm : dng cha a ch ca hm. Nn kiu ca hm v con tr phi ging nhau. V d : #include Double fmax ( double x, double y ) { return ( x>y ? x:y ) ; }

double (*pf) (double , double ) = fmax ; main ( ) { printf ( " In max = % f " , pf(15.5, 20.5 )); }

Bi tp ngn ng lp trnh C - phn 2 Cu I. 1: Vit hm tnh gi tr ca a thc cp n f(x) = anxn + an-1xn-1 + + a1x1 + a0 Cu I. 2: Vit hm kim tra tnh nguyn t ca mt s nguyn dng n Cu I.3: Vit hm kim tra xem mt mng gm n s nguyn dng nhp vo t bn phm c phi l mt hon v ca n hay khng. Cu I. 4: Vit hm i mt s nguyn thnh xu s nguyn Cu I. 5: Vit hm i mt xu s nguyn thnh s nguyn Cu I. 6: Vit hm tnh gi tr ca mt biu thc dng xu ch gm hai php ton cng v tr. Chng hn: Gi tr ca biu thc: -1 + 3 + 4 5 l 1 Cu I. 7: Vit hm i mt s nguyn khng m thnh xu nh phn Cu I. 8: Vit hm i mt s nguyn khng m thnh xu Hecxa Cu I. 9: Vit hm o ngc mt xu k t Cu I. 10: Vit hm nhp mng tr v con tr tr vo u mng mt chiu Cu I. 11: Vit hm tnh s pi theo cng thc PI/4 = 1 - 1/3 + 1/5 - 1/7 + , vi chnh xc epxilon = 0.001 Cu I. 12: Vit hm kim tra xem mt s nguyn x c mt trong mt mng mt chiu gm n s nguyn hay khng? Cu I. 13: Vit hm tnh ex theo cng thc sau: ex = 1 + x + x2/2! + x3/3! + , vi chnh xc epxilon = 0.001 Cu I. 14: Vit hm tnh bi chung nh nht ca hai s nguyn dng a, b. Cu I. 15: Vit hm cho bit mt s nguyn dng n c bao nhiu ch s l khc nhau. Cu I. 16: Vit hm thc hin vic i ch gi tr ca 2 bin a v b cho nhau. Cu I. 17: Vit hm tr v s Fibonaxi th n Cu I. 18: Vit hm tnh tng n s Fibonaxi u tin Cu I. 19: Vit hm tr v s nguyn t st sau s n Cu I. 20: Vit hm tr v s n nguyn dng nh nht sao cho tng s = 1 + 1/2 + 1/3 + . . . + 1/n > a, vi a l s thc nhp vo t bn phm.

Phn 2: Cu II. 1: Vit chng trnh kim tra mt mng mt chiu c i xng hay khng Cu II. 2: Vit chng trnh kim tra mt xu k t c i xng hay khng Cu II. 3: Vit chng trnh sp xp mt mng mt chiu theo th t tng dn Cu II. 4: Vit chng trnh m s t trong mt xu k t Cu II. 5: Vit chng trnh kim tra xu "hello" c trong xu s hay khng (khng phn bit ch hoa v ch thng) Cu II. 6: Vit chng trnh nhp v xem mng hai chiu an x m, tnh tng cc hng v in ra hng c tng ln nht Cu II. 7: Vit chng trnh nhn hai ma trn Cu II. 8: Vit chng trnh sp xp mt mng xu h v tn theo th t t in ca tn Cu II. 9: Vit chng trnh cng hai ma trn Cu II. 10: Vit chng trnh tm ma trn chuyn v Cu II. 11: Nhp mt xu k t gm cc ch ci. Hy m xem mi loi ch ci c mt trong xu xut hin bao nhiu ln (khng phn bit ch hoa v ch thng) Cu II. 12: Ch dng mt con tr (khng dng mng v danh sch kt ni) hy nhp vo t bn phm 10 s nguyn. Sau , tnh trung bnh cng ca 10 s va nhp. Cu II. 13: Vit chng trnh nhp v xem mng mt chiu nh con tr

Cu II. 14: Vit chng trnh nhp v xem mng hai chiu nh con tr Cu II. 15: Vit chng trnh nhp mt mng mt chiu n s nguyn sau sp xp mng theo th t tng dn. Nhp mt s nguyn x vo t bn phm, hy chn gi tr x vo mng sao cho khng lm thay i th t sp xp ca mng. Cu II. 16: Vit chng trnh nhp vo mt xu k t bao gm cc t v cc du cch trng tu . Hy xo b cc du cch trng u xu, cui xu v cc du cch trng khng cn thit gia cc t sao cho cc t trong xu ch cch nhau mt du cch trng. Cu II. 17: Vit chng trnh nhp vo mt mng a gm n phn t, sau xy dng mng mt chiu b gm tt cc nhng phn t i din ly t mng a Cu II. 18: Vit chng trnh nhp vo 2 dy s nguyn a1, a2, , an v b1, b2, , bn. Hy kim tra xem c phi hai dy trn ch khc nhau v trt t sp xp cc phn t hay khng? Cu II. 19: Vit chng trnh nhp vo mt mng hai chiu a gm n hng m ct. Hy xy dng mng mt chiu b gm cc phn t l nhng phn t ln nht trn mi hng ca ma trn a. Cu II. 20: Vit chng trnh nhp vo mt ma trn vung, hy chuyn tt c cc phn t c gi tr tuyt i ln nht ca mi hng v phn t ng cho chnh. Phn 3: Cu III. 1: Cho cu trc phn s PS nh sau: struct PS{int tu, mau;}; - Vit hm tm UCLN ca hai s nguyn dng - Vit hm to phn s - Vit hm ti gin phn s - Vit hm in phn s theo dng a/b, vi a l s nguyn, b l s nguyn dng - Vit hm tnh tng, hiu hai phn s, kt qu tr v phn s ti gin Vit chng trnh nhp hai phn s v in tng v hiu ca chng Cu III. 2: Cho cu trc phn s PS nh sau: struct PS{int tu, mau;}; - Vit hm tm UCLN ca hai s nguyn dng - Vit hm to phn s - Vit hm ti gin phn s - Vit hm in phn s theo dng a/b, vi a l s nguyn, b l s nguyn dng - Vit hm tnh tch, thng hai phn s, kt qu tr v phn s ti gin Vit chng trnh nhp hai phn s v in tch, thng ca chng Cu III. 3: Cho kiu cu trc s phc SP nh sau: struct SP{float thuc, ao;}; - Vit hm to s phc - Vit hm in s phc dng theo a + i*b - Vit hm tnh tng hai s phc, kt qu tr v s phc Vit chng trnh nhp hai s phc v in tng ca chng

Cu III. 4: Cho cu trc s phc SP nh sau: struct SP{float thuc, ao;}; - Vit hm to s phc - Vit hm in s phc theo dng a + i*b - Vit hm tnh hiu hai s phc, kt qu tr v s phc Vit chng trnh nhp hai s phc v in hiu ca chng Cu III. 5: Ch s dng mt con tr c kiu cu trc sinhvien gm 3 trng: h tn, tui, im l thuyt, im thc hnh, im trung bnh, trong : im trung bnh = (im l thuyt + im thc hnh*2)/3 hy nhp vo 5 sinh vin v cho bit sinh vin c im trung bnh cao nht. Cu III. 6: Vit chng trnh to mng gm n phn t, mi phn t c kiu cu trc gm 3 trng: h tn, h s lng, lng, trong : lng = h s lng * 350000. Sp xp li mng

theo th t tng dn ca lng. Nhp thng tin cho mt ngi, hy chn ngi ny vo mng sao cho vn m bo tnh sp tng ca lng. Cu III. 7: Cho cu trc thisinh gm cc trng: h v tn, s bo danh, ngy sinh, qu qun, tng im, trong s bo danh c nh t ng bng cch: s bo danh = DHV + s th t nhp vo ca th sinh. Nhp mng gm n cu trc thisinh, nhp im chun vo t bn phm, hy lc v in ra mn hnh nhng ngi c tng im ? im chun. Cu III. 8: To mng gm n phn t, mi phn t c kiu cu trc hocsinh gm hai trng: h tn, ngy sinh, lp. Hy sp xp mng theo th t alphabe ca tn. Cu III. 9: Cho kiu cu trc thoigian gm 3 trng: gi, pht, giy. - Vit hm to cu trc thigian - Vit hm in mt cu trc thoigian theo dng: gi : pht : giy - Vit hm so snh hai cu trc thi gian Nhp mt mng gm n phn t cu trc thoigian, hy sp xp mng theo th t tng dn. Cu III. 10: Cho kiu cu trc ngaythang gm 3 trng: ngy, thng, nm. - Vit hm to mt cu trc kiu ngaythang - Vit hm in mt cu trc kiu ngaythang: ngy - thng - nm - Vit hm so snh hai cu trc kiu ngaythang Nhp mt mng gm n phn t cu trc ngaythang, hy cho bit ngy gn ngy hin ti nht.

Phn 4: Cu IV. 1: Cho tp vn bn mi dng 3 s thc. Lp mt hm kim tra xem 3 s thc a, b, c c lp thnh 3 cnh ca mt tam gic hay khng, nu ng th tnh chu vi, din tch ca tam gic , nu khng th c thng bo. p dng hm kim tra cc b 3 s trn tng dng trong tp k trn. Kt qu cho hin ra mn hnh. Cu IV. 2: Lp hm tnh n!. p dng lp hm tnh t hp chp k ca n. Cho mt tp vn bn, mi dng cha 2 s k v n. Hy tnh Ckn ca cc cp s k v n c ra t tp trn. Kt qu a vo mt tp vn bn khc, mi dng gm: k n Cnk Cu IV. 3: Cho mt tp vn bn gm cc xu k t. Lp hm kim tra mt t nhp vo t bn phm c mt trong tp hay khng. Cu IV. 4: To mt tp nh phn gm cc s nguyn khng m (to nh hm putw). Lp hm i s nguyn ra xu nh phn. p dng hm i cc s nguyn trong tp trn ra xu nh phn, ghi kt qu vo mt tp vn bn, mi dng gm: S t nhin ------> Xu nh phn tng ng Cu IV. 5: Cho tp vn bn cha cc s t nhin. Lp hm tr v kiu s nguyn xc nh xem mt s t nhin c phi l s nguyn t hay khng. Hy p dng hm tm cc s nguyn t trong tp trn v a cc s nguyn t ra mn hnh, mi dng 10 s. Cu IV. 6: Cho tp vn bn mi dng cha 3 s thc. Lp hm gii v bin lun phng trnh dng ax2 + bx + c = 0. p dng hm trn gii v bin lun cc phng trnh bc hai vi cc hc s a, b, c c ra t tp trn. Kt qu cho hin ra mn hnh. Cu IV. 7: Lp chng trnh c hm tnh s ngy ca mt thng. p dng tnh ngy ca cc thng trong mt nm bt k v ghi kt qu vo mt tp vn bn theo quy tc: thng nm s ngy. Cu IV. 8: Lp hm tnh s t trong mt xu k t (du ngn cch t bao gm: du cch trng, du chm, du phy, du chm phy, du chm than, du chm hi). p dng m s t ca mt tp vn bn gm cc xu k t. Cu IV. 9: Vit hm tnh ucln(a, b). p dng hm lp hm tnh bcnn(a, b). Cho mt tp vn bn, mi dng gm hai s nguyn dng cch nhau t nht mt k t trng. S dng hai hm trn tnh ucln v bcnn ca cc cp s c ra t tp trn. Kt qu ghi vo mt tp vn bn khc theo quy tc: a b ucln bcnn Cu IV. 10: To tp cu trc lu tr sinh vin ca mt lp. Mi sinh vin gm h tn, tui, im

k 1, im k 2, im trung bnh c nm, xp loi, trong : im trung bnh c nm = (im k 1 + im k 2 *2 )/3 "Gii" nu im trung bnh c nm>=8.0 xp loi = "Kh" nu 7.0