Bài 17

Chu iỗ

M c tiêu: ụ

K t thúc bài h c này, b n có th : ể ế ạ ọ

 Gi ả i thích các bi n và h ng ki u chu i ỗ ế ể ằ

 Gi ả i thích con tr tr đ n chu i ỗ ỏ ỏ ế

 Th c hi n các thao tác nh p/xu t chu i ỗ ự ệ ậ ấ

 Gi i thích các hàm thao tác chu i ả ỗ

 Mô t

 Gi i thích cách th c truy n m ng vào hàm nh tham s ả ư ứ ề ả ố

cách th c s d ng chu i nh các ả ứ ử ụ ư ỗ tham số c a hàm. ủ

Gi i thi u ớ ệ

c cài đ t nh là các m ng ký t k t thúc b i ký t NULL (‘\0’). Bài này s ư ặ ự ế ở ự ẽ Các chu i trong C đ ả th o lu n v công d ng và thao tác trên chu i. ượ ụ ỗ ậ ề ả ỗ

17.1 Các bi n và h ng ki u chu i ỗ ế ể ằ

. Nh các bi n khác, các bi n này ể ư ỗ ế ế c khi s d ng. Ví d khai báo m t bi n chu i: ữ ộ ụ ử ụ ộ ư ỗ ự ế c s d ng đ l u tr m t chu i các ký t ỗ đ Các bi n chu i ượ ử ụ ế c khai báo tr ph i đ ướ ả ượ char str[10];

có th l u t i đa 10 ký t . Gi s str đ str là m t m ng các ký t ả ộ ự ể ư ố ự ả ử ượ c gán m t h ng chu i, ỗ ộ ằ

“WELL DONE”

n m trong d u nháy kép. M i ký t ự ằ ỗ trong m t chu i đ ộ ỗ ượ c c a m ng. Trong b nh , chu i đ c l u tr nh sau: ấ ớ M t ộ h ng chu i ằ l u tr nh là m t ph n t ộ ữ ư ư ỗ là m t dãy các ký t ộ ầ ử ủ ỗ ượ ư ả ộ ự ữ ư

‘D’ ‘W’ ‘E’ ‘L’ ‘L’ ‘ ’ ‘O’ ‘N’ ‘E’ ‘\0’

ự ỗ ể ể ế đ ng thêm vào trong cách bi u di n bên trong c a chu i đ đánh d u ấ c t ượ ự ộ ễ ỗ Vì v y, khi khai báo m t chu i, ph i tăng kích th ộ ậ ủ ầ c c a nó thêm m t ph n ướ ủ ả ỗ ộ

Ký t ‘\0’ (null) đ đi m k t thúc chu i. ể đ ch a kí hi u k t thúc null. t ế ệ ử ể ứ 17.1.1 Con tr tr đ n chu i ỗ ỏ ỏ ế

c l u và truy c p b ng cách s d ng con tr ki u ký t . M t con tr ki u ký t ằ ỏ ể ử ụ ự ỏ ể ộ ự ậ c khai báo nh sau: Chu i có th đ tr đ n m t chu i đ ộ ể ượ ư ỗ ượ ỗ ỏ ế ư

char *pstr = “WELCOME”;

c kh i t o đ tr đ n m t h ng chu i. Con tr ở ạ ộ ằ ổ ể ỏ ể ấ ộ ỏ pstr tr đ n m t chu i khác thì ta không th ỏ pstr có th thay đ i đ tr ể ỗ ỏ ế ộ ỗ pstr là m t con tr đ ỏ ượ ộ đ n b t kì m t chu i nào khác ỗ ế truy xu t đ n chu i ấ ế ể ỏ ế . M c dù khi con tr ặ ượ ữ . c n a ỗ “WELCOME”đ

Chu iỗ

237

17.1.2 Các thao tác nh p xu t chu i ỗ ậ ấ

Nguyen Dinh Phuong

ậ ự ệ ỗ ấ ủ ẩ ậ Các thao tác nh p/xu t (I/O) chu i trong C đ ấ ượ m t ph n c a th vi n nh p/xu t chu n tên ư ệ nh p/xu t chu i ph i có câu l nh khai báo sau ả ầ ấ ộ ậ c th c hi n b ng cách g i các hàm. Các hàm này là ọ ằ stdio.h. M t ch ng trình mu n s d ng các hàm ố ử ụ đ u ch ở ầ ộ ươ ng trình: ươ ệ ỗ

#include ;

stdio.h s tr thành ệ ượ c biên d ch, thì n i dung c a t p tin ộ ủ ậ ị ẽ ở ng trình có ch a câu l nh này đ ứ ng trình. Khi ch ươ m t ph n c a ch ầ ủ ộ ươ

 Các thao tác nh p/xu t chu i đ n gi n ỗ ơ ậ ấ ả

ậ ơ ộ ỗ c nh p vào cho đ n khi nh n phím Enter. Hàm gets() thay th ký t àm gets() là cách đ n gi n nh t đ nh p m t chu i thông qua thi ấ ể s đ ấ ự ẽ ượ ả ế ẩ t b nh p chu n. ậ ế ị k t thúc ự ế ế S d ng h ử ụ Các ký t tr v đ u dòng ‘\n’ b ng ký t ‘\0’. Cú pháp hàm này nh sau: ở ề ầ ậ ằ ự ư

gets(str);

Trong đó str là m t m ng ký t đã đ c khai báo. ả ộ ự ượ

ng t c s d ng đ hi n th m t chu i ra thi , hàm t b xu t chu n. Ký t ươ ể ể ỗ ế ị ấ ẩ ự ố xu ng T ượ ử ụ dòng s k t thúc vi c xu t chu i. Cú pháp hàm nh sau: ấ puts() đ ệ ự ẽ ế ị ộ ư ỗ

puts(str);

đã đ c khai báo và kh i t o. Ch ng trình sau đây nh n vào ượ ở ạ ươ ậ ự Trong đó str là m t m ng ký t ả m t tên và hi n th m t ộ ị ộ thông báo. ể ộ

Ví d 1:ụ

#include

void main() {

char name[20]; /* name is declared as a single dimensional character array */

clrscr(); puts("Enter your name:"); /* Clears the screen */ /* Displays a message */

gets(name); /* Accepts the input */

puts("Hi there: "); puts(name); /* Displays the input */

getch(); }

N u tên Lisa đ c nh p vào, ch ế ượ ậ ươ ng trình trên cho ra k t qu : ả ế

L p trình c b n C

ơ ả

238

Enter your name: Lisa Hi there: Lisa

 Các thao tác N

h pậ chu i có đ nh d ng /X u tấ ỗ ạ ị

ỗ ị ị ể ể ữ ệ ệ ấ ộ ợ ị scanf() và printf() đ nh p và hi n th các giá tr chu i. Các hàm này Có th s đ ng các hàm ậ ể ử ụ ể c dùng đ nh p và hi n th các ki u d li u h n h p trong m t câu l nh duy nh t. Cú pháp đ ỗ ể ể ượ đ nh p m t chu i nh sau: ể ậ ỗ ư ậ ộ

scanf(“%s”, str);

c nh p vào. ộ ậ str là m tộ Trong đó ký hi u đ nh d ng ệ đã đ m ng ký t ị c khai báo. T ạ %s cho bi ng t ươ ượ t r ng m t giá tr chu i s đ ị ế ằ ỗ ẽ ượ , đ hi n th chu i, cú pháp s là: ẽ ỗ ự ể ể ự ả ị

printf(“%s”, str);

t r ng m t giá tr chu i s đ ạ %s cho bi ế ằ ỗ ẽ ượ ể ộ ị ị ả str là m tộ ở ạ Hàm printf() có th dùng đ hi n th ra các thông báo c hi n th và ị ể ể ể ị c khai báo và kh i t o. đ nh d ng. tTrong đó ký hi u đ nh d ng ệ đã đ m ng ký t ự mà không c n kí t ầ ượ ự ị ạ

ươ ng trình bên trên đ nh p vào và hi n th m t tên, s d ng hàm scanf() và ể ử ụ ị ộ ể ậ Có th s a đ i ch ể ử ổ printf().

Ví d 2:ụ

#include

void main() {

char name[20]; /* name is declared as a single dimensional character array */

clrscr(); printf("Enter your name: "); /* Clears the screen */ /* Displays a message */

scanf(“%s”, name); /* Accepts the input */

printf("Hi there: %s", name); /* Displays the input */

getch(); }

N u nh p vào tên Brendan , ch ế ậ ươ ng trình trên cho ra k t qu : ả ế

Enter your name: Brendan Hi there: Brendan

17.2 Các hàm v chu i ỗ ề

ỗ ợ ấ ộ ố ể ậ ấ C h tr r t nhi u hàm v chu i. Các hàm này có th tìm th y trong t p tin string.h. M t s thao ỗ ề tác mà các hàm này th c hi n là: ề ệ ự

Chu iỗ

239

ị ộ ị  N i chu i ỗ ố  So sánh chu iỗ  Đ nh v m t ký t trong chu i ỗ ự  Sao chép m t chu i sang chu i khác ỗ ỗ ộ

Nguyen Dinh Phuong

 Xác đ nhị

chi u dài ề c a ủ chu i.ỗ

17.2.1 Hàm strcat()

Hàm strcat() đ c s d ng đ n i hai chu i vào nhau. Cú pháp hàm là: ượ ử ụ ể ố ỗ

strcat(str1, str2);

c khai báo và kh i t o. ượ ở ạ Hàm này s th c hi n n i c ẽ ự ố hu iỗ ệ trong đó str1 và str2 là hai chu iỗ đã đ str2 vào sau chu i ỗ str1

Ch ng trình sau đây nh n vào h và tên ươ ậ ọ ,n i chúng v i nhau và hi n th ra h tên đ y đ . ầ ủ ể ố ọ ớ ị

Ví d 3:ụ

#include #include

void main() {

char firstname[15]; char lastname[15];

clrscr();

printf("Enter your first name: "); scanf("%s", firstname);

printf("Enter your last name:"); scanf("%s", lastname);

strcat(firstname, lastname); /* Attaches the contents of lastname at the end of firstname */

printf("%s", firstname); getch(); }

K t qu c a ch ế ươ ượ ư

c minh h a nh sau: ng trình trên đ ả ủ ọ Enter your first name: Carla Enter your last name: Johnson CarlaJohnson

17.2.2 Hàm strcmp()

ằ số (b ng nhau hay không b ng nhau) có th th c hi n b ng cách s d ng các toán ệ ằ ằ ử ụ strcmp() so sánh hai ệ ả ỗ strcmp() ệ quan h . Tuy nhiên, đ so sánh hai chu i kí t ể ả ề ộ ố ể ự , ph i dùng m t hàm. Hàm ộ ự ả ộ ụ ủ ế Vi c so sánh hai t ử chu i v i nhau và tr v m t s nguyên ph thu c vào k t qu so sánh. Cú pháp c a hàm ỗ ớ nh sau: ư strcmp(str1, str2);

trong đó str1 và str2 là hai chu iỗ đã đ ượ c khai báo và kh i t o.Hàm tr v giá tr : ị ở ạ ả ề

L p trình c b n C

ơ ả

240

 Nh h n 0 n u str1

ế  0 n u str1 = str2  L n h n 0 n u str1>str2 ơ ế ớ

ng trình sau đây so sánh bi n name1 v i các bi n name2, name3, name4 và hi n th k t qu ị ế ế ế ể ớ ả ươ

Ch c a phép so sánh: ủ Ví d 4:ụ

#include #include

void main() {

char name1[15] = "Geena"; char name2[15] = "Dorothy"; char name3[15] = "Shania"; char name4[15] = "Geena"; int i;

clrscr();

i = strcmp(name1,name2); printf("%s compared with %s returned %d\n", name1, name2, i);

i=strcmp(name1, name3); printf("%s compared with %s returned %d\n", name1, name3, i);

i=strcmp(name1,name4); printf("%s compared with %s returned %d\n", name1, name4, i);

getch(); }

K t qu c a ch ng trình trên đ ế ươ c minh h a nh sau: ọ ư

ượ ả ủ Geena compared with Dorothy returned 3 Geena compared with Shania returned -12 Geena compared with Geena returned 0

ụ ự ủ ề ị ả ề ầ ỗ ấ ví d trên. Đó là s khác nhau v mã ASCII c a hai kí ở ỗ L u ý giá tr tr v trong m i phép so sánh ư t khác nhau đ u tiên tìm th y trong hai chu i. ự 17.2.3 Hàm strchr()

trong m t chu i. Cú pháp hàm là: Hàm strchr() xác đ nh v trí xu t hi n c a m t ký t ị ệ ủ ấ ộ ị ự ộ ỗ

strchr(str, chr);

hay chu i. chr là m t bi n ký t ch a giá tr c n tìm. Hàm tr v ả ộ ộ ả ề trong đó str là m t m ng ký t con tr tr đ n giá tr tìm đ ỗ ị ầ trong chu i, ho c NULL n u không tìm ự c ỏ ỏ ế ự ứ ế ế ặ ượ đ u tiên ầ ỗ ị th yấ .

Chu iỗ

241

Ch ng trình sau đây xác đ nh li u ký t ‘a’ có xu t hi n trong tên hai thành ph hay không . ươ ệ ị ự ệ ấ ố

Nguyen Dinh Phuong

Ví d 5:ụ

#include #include

void main() {

char str1[15] = "New York"; char str2[15] = "Washington"; char chr = 'a', *loc;

clrscr();

loc = strchr(str1, chr); /* Checks for the occurrence of the character value held by chr in the first city name */

if(loc != NULL) printf("%c occurs in %s\n", chr, str1); else printf("%c does not occur in %s\n", chr, str1);

loc = strchr(str2, chr); /* Checks for the occurrence of the character in the second city name */

if(loc != NULL) printf("%c occurs in %s\n", chr, str2); else printf("%c does not occur in %s\n", chr, str2);

getch(); }

K t qu c a ch ế ươ ượ ư

c minh h a nh sau: ng trình trên đ ả ủ ọ a does not occur in New York a occurs in Washington

17.2.4 Hàm strcpy()

ộ nào x lý m t chu i nh là m t đ n v duy nh t. Vì v y, phép gán m t ộ ơ ử ử ấ ậ ộ ỗ ị Trong C không có toán t giá tr chu i này cho m t chu i khác đòi h i ph i s d ng hàm strcpy(). Cú pháp hàm là: ộ ư ả ử ụ ỏ ỗ ỗ ị

strcpy(str1, str2);

đã đ c khai báo và kh i t o. Hàm sao chép giá tr ự ượ ở ạ ị str2 vào ả trong đó str1 và str2 là hai m ng ký t str1 và tr v ả ề chu i ỗ str1.

ng trình sau đây minh h a vi c s d ng hàm strcpy(). Nó thay đ i tên c a m t khách s n và ệ ử ụ ủ ạ ọ ổ ộ Ch ươ hi n th tên m i. ị ể ớ

Ví d 6:ụ

L p trình c b n C

ơ ả

242

#include #include

void main() {

char hotelname1[15] = "Sea View"; char hotelname2[15] = "Sea Breeze";

clrscr();

printf("The old name is %s\n", hotelname1);

strcpy(hotelname1, hotelname2); /*Changes the hotel name*/

printf("The new name is %s\n", hotelname1); /*Displays the new name*/

getch(); }

K t qu c a ch ng trình trên đ ế ươ ượ c minh h a nh sau: ọ ư

ả ủ The old name is Sea View The new name is Sea Breeze

17.2.5 Hàm strlen()

c s d ng trong các vòng ỗ ấ ả ề ỗ ượ ử ụ Hàm strlen() tr v chi u dài c a chu i. Chi u dài c a chu i r t hay đ l p truy câp t ng kí t ặ ủ ủ ỗ Cú pháp c a hàm là: ề c a chu i. ự ủ ề ủ ừ

strlen(str);

trong đó str là m ng ký t đã đ ả ự ượ c khai báo và kh i t o. Hàm tr v ở ạ ả ề chi u dài ề c a ủ chu i ỗ str.

c phân cách nhau b i ký t

‘*’.

ươ ư ộ strlen(). Nó tìm chi u dài c a tên m t ề ủ ng trình sau đây đ a ra ví d đ n gi n s d ng hàm ụ ơ ớ ả ử ụ đ ự ượ Ch công ty và hi n th tên công ty đó v i các ký t Ví d 7:ụ

#include #include

void main() {

char compname[20] = "Microsoft"; int len, ctr;

clrscr();

len = strlen(compname); /* Determines the length of the string */

for(ctr = 0; ctr < len; ctr++) /* Accesses and displays each character of the string*/ printf("%c * ", compname[ctr]);

Chu iỗ

243

getch();

Nguyen Dinh Phuong

}

K t qu c a ch

ng trình trên đ

ả ủ

ế

ươ

ượ

c minh h a nh sau: ọ

ư

M * i * c * r * o * s * o * f * t *

17.3 Truy n m ng vào hàm ề ả

c truy n vào hàm nh m t ộ ượ ề ả ả ị ỉ ủ i đây mô t c ượ cách ư ộ tham s , thì ch có đ a ch c a m ng đ ỉ Đo n mã d ạ ị ố ả ỉ ủ ỉ ố ướ ả ả Trong C, khi m t m ng đ truy n vào. Tên m ng không kèm theo ch s là đ a ch c a m ng. truy n đ a ch c a m ng ary cho hàm fn_ary(): ề ề ị

ỉ ủ ả void main() {

int ary[10]; . . fn_ary(ary); . . }

c khai báo theo m t trong ố ủ ả ộ ộ ề thì tham s ố đó có th đ ể ượ ộ N u ế tham s c a hàm là m t m ng m t chi u các cách sau:

fn_ary (int ary [10]) /* sized array */ { : } ho cặ

fn_arry (int ary []) /*unsized array */ { : }

ề ế ả ả ở ướ ủ trên đ u cho cùng k t qu . Ki u th nh t s d ng cách khai báo m ng chu n, ẩ ể int có kích c c a m ng. Ki u th hai, ch ra r ng tham s là m t m ng ki u ấ ử ụ ố ứ ằ ể ỉ ứ ể ả ả ộ

ả ỉ ướ ấ ươ c truy n vào ề ẽ ượ ả ả ậ ố ố C hai khai báo ch rõ ra kích th c b t kì. th Ch ng trình sau đây nh n các s vào m t m ng s nguyên. Sau đó m ng này s đ hàm sum_arr(). Hàm s tính toán và tr v t ng c a các s nguyên trong m ng. ộ ả ề ổ ủ ẽ ả ố

Ví d 8:ụ

#include void main() {

int num[5], ctr, sum = 0; int sum_arr(int num_arr[]); /* Function declaration */

clrscr();

for(ctr = 0; ctr < 5; ctr++) /*Accepts numbers into the array*/ {

L p trình c b n C

ơ ả

244

printf("\nEnter number %d: ", ctr+1); scanf("%d", &num[ctr]); }

sum = sum_arr(num); /* Invokes the function */

printf("\nThe sum of the array is %d", sum);

getch(); }

int sum_arr(int num_arr[]) /* Function definition */ { int i, total;

for(i = 0, total = 0; i < 5; i++) /* Calculates the sum */ total += num_arr[i];

return total; /* Returns the sum to main() */ }

K t qu c a ch ng trình trên đ ế ượ c minh h a nh sau: ọ ư ả ủ ươ Enter number 1: 5

Enter number 2: 10

Enter number 3: 13

Enter number 4: 26

Enter number 5: 21

The sum of the array is 75

17.4 Truy n chu i vào hàm ỗ ề

ươ ụ ậ ể ượ ự ả ng trình sau đây s nh n vào các ẽ c truy n vào trong m t hàm ẽ ượ ề ộ Chu i, hay m ng ký t ả ự ỗ chu i và l u trong ộ ư ỗ dùng đ ể tìm chu i dài nh t trong m ng , có th đ m t m ng ký t ả ấ c truy n vào hàm. Ví d , ch ề hai chi u. Sau đó, m ng này s đ ề ả đó. ỗ

Ví d 9:ụ

#include

void main() {

char lines[5][20]; int ctr, longctr = 0;

int longest(char lines_arr[][20]); /* Function declaration */

clrscr();

for(ctr = 0; ctr < 5; ctr++) /* Accepts string values into the array */ {

Chu iỗ

245

printf("\nEnter string %d: ", ctr + 1); scanf("%s", lines[ctr]);

Nguyen Dinh Phuong

}

longctr = longest(lines); /* Passes the array to the function */

printf("\nThe longest string is %s", lines[longctr]);

getch(); }

int longest(char lines_arr[][20]) /* Function definition */ { int i = 0, l_ctr = 0, prev_len, new_len;

prev_len = strlen(lines_arr[i]); /* Determines the length of the first element */

for(i++; i < 5; i++) {

new_len = strlen(lines_arr[i]); /* Determines the length of the next element */

if(new_len > prev_len) l_ctr = i; /* Stores the subscript of the longer string */

prev_len = new_len; }

return l_ctr; /* Returns the subscript of the longest string */ }

K t qu c a ch ế ươ ượ c minh h a nh sau: ọ ư ng trình trên đ ả ủ Enter string 1: The

Enter string 2: Sigma

Enter string 3: Protocol

Enter string 4: Robert

Enter string 5: Ludlum

L p trình c b n C

ơ ả

246

The longest string is Protocol

Tóm t ắ t bài h c ọ

 Chu i ỗ trong C đ

k t thúc b ng ký t NULL (‘\0’). ượ c cài đ t nh m ng các ký t ư ả ặ ự ế ằ ự

c s d ng đ l u m t dãy các ký t  Các bi n chu i đ ế ỗ ượ ử ụ ể ư ộ . ự

bao b i d u nháy kép.  M t h ng chu i là m t dãy các ký t ỗ ộ ằ ộ ự ở ấ

 Các thao thác nh p/xu t chu i trong C đ ậ

c l u tr và truy c p b ng cách s d ng các con tr ký t  Các chu i có th đ ỗ ể ượ ư ử ụ ữ ằ ậ ỏ . ự

 Hàm gets() và puts() là cách đ n gi n nh t đ nh p vào và hi n th chu i. ả

ấ ỗ ượ ấ c th c hi n b ng các hàm thu c th vi n nh p/xu t ư ệ ự ệ ằ ậ ộ chu n ẩ stdio.h.

 Hàm scanf() và printf() có th đ

ấ ể ể ậ ơ ỗ ị

ể ượ ử ụ ể c s d ng đ nh p vào và hi n th chu i cùng v i các ki u ể ể ậ ớ ỗ ị d li u khác. ữ ệ

 C h tr r t nhi u hàm v chu i, mà chúng ta có th tìm th y trong ỗ

 Hàm strcat() đ

th vi n chu n ỗ ợ ấ ề ể ề ấ ư ệ ẩ string.h.

 Hàm strcmp() so sánh hai chu i và tr v m t s nguyên d a vào k t qu c a phép so sánh. ả ề ộ ố

c s d ng đ n i hai chu i vào m t. ượ ử ụ ể ố ộ ỗ

 Hàm strchr() xác đ nh v trí xu t hi n c a m t ký t ị

ả ủ ự ế ỗ

 Hàm strcpy() sao chép n i dung c a m t chu i vào m t chu i khác.

ệ ủ ấ ộ ị ự trong m t chu i. ộ ỗ

 Hàm strlen() tr v đ dài c a chu i.

ủ ộ ộ ỗ ỗ ộ

 Trong C, khi m t m ng đ

ả ề ộ ủ ỗ

c truy n vào hàm nh m t ả ộ ượ ư ộ tham s , ch có đ a ch c a m ng đ ỉ ủ ề ả ố ỉ ị ượ c truy n vào. ề

Chu iỗ

247

 Tên m ng không đi kèm v i ch s là đ a ch c a m ng. ớ ỉ ủ ỉ ố ả ả ị

Nguyen Dinh Phuong

1. Các chu i đ

Ki m tra ti n đ h c t p ế ộ ọ ậ ể

2. S l

c k t thúc b i ký t __null________. ỗ ượ ế ở ự

3. S thay đ i

ng ký t có th nh p vào char_arr[15] là _14________. ố ượ ự ể ậ

4. Ký t

(Đúng / Sai) ổ giá tr c a ị ủ con tr ki u chu i có th d n đ n m t d li u. ấ ữ ệ ỏ ể ể ẫ ự ế ỗ

_\n_ đ c s d ng đ sang dòng m i trong printf(). ự ượ ử ụ ể ớ

c bao g m trong ch ng trình. 5. Đ s d ng hàm strcat(), t p tin header ________ ph i đ ậ ể ử ụ ả ượ ồ ươ

6. Hai con tr có th so sánh đ ể ỏ ượ c ch khi c hai bi n đang tr đ n các bi n có ki u khác nhau. ỏ ế ế ể ế ả ỉ (Đúng / Sai)

7. strcmp() tr v _______ n u hai chu i hoàn toàn gi ng nhau. ả ề ế ỗ ố

8. Khi m t m ng đ ộ

L p trình c b n C

ơ ả

248

c truy n. ả ượ c truy n vào m t hàm, ch có __dia chi_____ c a nó đ ỉ ủ ề ộ ượ ề

Bài t p t làm ậ ự

1. Vi ng trình đ nh p vào hai chu i. Ch ậ ỗ ươ ng trình s xác đ nh li u chu i th nh t có ệ ứ ấ ẽ ỗ ị xu t hi n t m t ch ể ộ ươ cu i chu i th hai không. ứ ệ ở ố ế ấ ỗ

Chu iỗ

249

ng trình nh p vào m t m ng các s và hi n th giá tr trung bình. S d ng hàm t m t ch ộ ử ụ ể ả ậ ố ộ ị ị 2. Vi ươ ế đ tính giá tr trung bình. ị ể