Baỡi tỏỷp Tin hoỹc aỷi cổồng 122
Phỏửn VI : KIỉU XU CHặẻ
1. Tỗm hióứu cuù phaùp vaỡ chổùc nng cuớa haỡm strcpy.
a.Khai baùo
b.Cọng duỷng: sao ch
char *strcpy(char *dest, const char *src);
eùp mọỹt xỏu chổợ vaỡo xỏu chổợ khaùc
h>
tring.h>
g[100];
char *str1 = "Khoa Cong Nghe Thong Tin";
uù phaùp vaỡ chổùc nng haỡm strcat.
dest, const char *src);
ọỹt xỏu chổợ vaỡo 1 xỏu khaùc
.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. Tỗm hióứu c
a.Khai baùo
char *strcat(char *
b.Cọng duỷng: Nọỳi 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();
}
Nguyóựn Vn Nguyón- Khoa CNTT-TVT aỷi hoỹc Baùch Khoa aỡ Nụng
Baỡi tỏỷp Tin hoỹc aỷi cổồng 123
3. Tỗm hióứu cuù phaùp vaỡ chổùc nng cuớa haỡm strcmp
onst char*s2);
ỷng: So saùnh 2 xỏu chổợ
m nóỳu s1<s2
nóỳu s1=s2
nóỳu s1>s2
ỷ:
clude <string.h>
h>
s2;
ntf(" Nhap chuoi s2=");
ts(s2);
cuù phaùp vaỡ chổùc nng cuớa haỡm strlen
a.Khai baùo
t char *s);
ỹ daỡi cuớa xỏu chổợ
h>
clude <string.h>
io.h>
void)
ar *string = "Khoa Cong Nghe Thong Tin -Dien tu Vien
ong";
cuù phaùp vaỡ chổùc nng cuớa haỡm strlwr
a.Khai baùo
int strcmp(const char *s1, c
b.Cọng 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. Tỗm hióứu
size_t strlen(cons
b.Cọng duỷng: Lỏỳy õọ
c. Vờ duỷ:
#include <stdio.
#in
#include <con
int main(
{
clrscr();
ch
Th
printf("%d\n", strlen(string));
getch();
}
5. Tỗm hióứu
a.Khai baùo
Nguyóựn Vn Nguyón- Khoa CNTT-TVT aỷi hoỹc Baùch Khoa aỡ Nụng
Baỡi tỏỷp Tin hoỹc aỷi cổồng 124
char *strlwr(char *s);
ỏu chổợ sang chổợ thổồỡng
c. Vờ duỷ:
h>
clude <string.h>
nio.h>
ring = "Borland International";
printf("chuoi truoc khi doi: %s\n", string);
strlwr(string);
etch();
huớ tuỷc 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 baùo
*s, int ch, size_t n);
yù tổỷ õỏửu thaỡnh kyù tổỷ ch
b.Cọng duỷng: ọứi x
#include <stdio.
#in
#include <co
int main(void)
{
clrscr();
char *st
printf("Chuoi sau khi doi: %s\n", string);
g
}
6. Tỗm hióứu cuù phaùp vaỡ chổùc nng cuớa t
a.Khai baùo
char *strupr(char
b.Cọng duỷng: ọứi xỏu
c.
#include <stdio.
#in
#include <s
int main(void)
{
clrscr();
char *string, *ptr;
printf("Nhap chuoi vao
gets(strin
printf("%s\n", ptr);
}
7. Tỗm hióứu cuù phaùp vaỡ chổùc nng cuớa thuớ tuỷc strnset
a.
char *strnset(char
b.Cọng duỷng: ỷt n k
c. Vờ duỷ:
Nguyóựn Vn Nguyón- Khoa CNTT-TVT aỷi hoỹc Baùch Khoa aỡ Nụng
Baỡi tỏỷp Tin hoỹc aỷi cổồng 125
#include <stdio.h>
clude <conio.h>
tring.h>
ter = 'x';
printf("Chuoi truoc khi dat: %s\n", string);
strnset(string, letter, 13);
ù phaùp vaỡ chổùc nng cuớa thuớ tuỷc strnset
*s, int ch);
ớ caùc kyù tổỷ cuớa s thaỡnh 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 nóỳu khọng 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. Tỗm hióứu cu
a.Khai baùo
char *strset(char
b.Cọng duỷng: ỷt tỏỳt 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. Tỗm hióứu cuù phaùp vaỡ chổùc nng cuớa haỡm strnset
a.Khai baùo
char *strchr(const
b.Cọng duỷng: Traớ vóử c
c.
#include <conio.
#inc
#include <string.h>
Nguyóựn Vn Nguyón- Khoa CNTT-TVT aỷi hoỹc Baùch Khoa aỡ Nụng
Baỡi tỏỷp Tin hoỹc aỷi cổồng 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 xuỏỳt hióỷn cuọỳi cuỡng cuớa 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. Tỗm hióứu cuù phaùp vaỡ chổùc nng cuớa haỡm strnset
a.Khai baùo
char *strrchr(const
lb.Cọng duỷng: 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();
}
Nguyóựn Vn Nguyón- Khoa CNTT-TVT aỷi hoỹc Baùch Khoa aỡ Nụng
Baỡi tỏỷp Tin hoỹc aỷi cổồng 127
11. Tỗm hióứu cuù phaùp vaỡ chổùc nng cuớa haỡm strrev
Khai baùo
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. Tỗm hióứu cuù phaùp vaỡ chổùc nng cuớa haỡm strstr
a.Khai baùo
char *strstr(const char *s1, const char *s2);
b.Cọng duỷng: Tỗm lỏửn xuỏỳt hióỷn õỏửu tión cuớa xỏu con s2 trong
xỏu 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.Cọng duỷng: aớo mọỹt xỏu chổ
Nguyóựn Vn Nguyón- Khoa CNTT-TVT aỷi hoỹc Baùch Khoa aỡ Nụng
Baỡi tỏỷp Tin hoỹc aỷi cổồng 128
13. Vióỳt chổồng trỗnh nhỏỷp tón baỷn tổỡ baỡn phờm, chổồng trỗnh vióỳt traớ lồỡi chaỡo ban tón õổồỹc
nhỏỷp tổỡ baỡn phờm.
* Chổồng trỗnh
#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. Vióỳt chổồng trỗnh õaớo ngổồỹc xỏu chổợ (khọng duỡng haỡm strrev):
Vờ duỷ : Nguyen Van Nguyen
Xỏu õaớo laỷi: Neyugn nav Neyugn
Hoỷc 123 -> 321
* Chổồng trỗnh
#
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()
{
Nguyóựn Vn Nguyón- Khoa CNTT-TVT aỷi hoỹc Baùch Khoa aỡ Nụng
Baỡi tỏỷp Tin hoỹc aỷi cổồng 129
char *s1;
char *s;
clrscr();
printf("\nChuoi ban dau = ");
gets(s1);
s = Daonguoc(s1);
printf("\nChuoi dao nguoc = %s", s);
getch();
}
14. Vióỳt chổồng trỗnh õọứi ngổồỹc xỏu chổợ: Nóỳu ta nhỏỷp tổỡ baỡn phờm xỏu chổợ thổồỡng thỗ chổồng
trỗnh õọứi ra xỏu chổợ in hoa vaỡ ngổồỹc laỷi (khọng duỡng haỡm strlwr, strupr)
* Chổồng trỗnh
#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. Vióỳt chổồng trỗnh nhỏỷp vaỡo xỏu chổợ s vaỡ thọng baùo :
sọỳ tổỡ trong xỏu chổợ s
Caùc kyù tổỷ khaùc nhau cuớa s vaỡ tỏửn sọỳ xuỏỳt hióỷn mọựi kyù tổỷ khọng phỏn bióỷt chổợ hoa hay thổồỡng.
Kióứm tra s coù phaới laỡ xỏu chổợ Palindrome khọng?
Nguyóựn Vn Nguyón- Khoa CNTT-TVT aỷi hoỹc Baùch Khoa aỡ Nụng
Baỡi tỏỷp Tin hoỹc aỷi cổồng 130
Vờ duỷ chuọứi Palin drome (Lewd I did live, evil did I dwel )
* Chổồng trỗnh
#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))
{
Nguyóựn Vn Nguyón- Khoa CNTT-TVT aỷi hoỹc Baùch Khoa aỡ Nụng
Baìi táûp Tin hoüc Âaûi cæång 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);
Nguyãùn Vàn Nguyãn- Khoa CNTT-ÂTVT Âaûi hoüc Baïch Khoa Âaì Nàông
Baỡi tỏỷp Tin hoỹc aỷi cổồng 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. Nhỏỷp 1 xỏu kyù tổỷ (vd 1 cỏu thồ) haợy xoùa caùc kyù tổỷ trọỳng chố
coỡn mọỹt kyù tổỷ trọỳng giổợa caùc tổỡ.
* Chổồng trỗnh
#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);
Nguyóựn Vn Nguyón- Khoa CNTT-TVT aỷi hoỹc Baùch Khoa aỡ Nụng
Baỡi tỏỷp Tin hoỹc aỷi cổồng 133
getch();
}
17. Vióỳt chổồng trỗnh nhỏỷp vaỡo xỏu kyù tổỷ.sau õoù cho xỏu naỡy
chaỷy trón maỡn hỗnh tổỡ phaới qua traùi.
* Chổồng trỗnh
#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();
}
Nguyóựn Vn Nguyón- Khoa CNTT-TVT aỷi hoỹc Baùch Khoa aỡ Nụng