chuoi

20
Bài 1: Nhập vào 1 xâu ký tự. Kiểm tra xem chuỗi đó có bao nhiêu chữ cái, chữ số, ký tự khác? Bài 2: Nhập vào 1 xâu ký tự. Liệt kê các ký tự có mặt trong chuỗi và số lần xuất hiện của ký tự đó. Bài 3: Nhập vào 1 xâu ký tự: 1. Xét xem trong xâu có ký tự kề nhau mà trùng nhau không? 2. Thực hiện phép loại bỏ các ký tự kề nhau mà như nhau chỉ để lại một. Bài 4: Nhập vào 1 xâu ký tự. Kiểm tra tính đối xứng. Nếu xâu không đối xứng thì in đảo ngược xâu đó. Bài 5: Nhập vào 1 xâu ký tự. Chuẩn hóa xâu đạt các yêu cầu sau: 1. Xóa dấu cách đầu xâu, cuối xâu. 2. Không còn 2 dấu cách cạnh nhau. 3. Chuẩn hóa dấu phẩy, chấm (dấu rồi cách). 4. Viết hoa chữ đầu tiên và chữ sau dấu chấm. Bài 6: Nhập vào 2 xâu ký tự. Kiểm tra số lần xuất hiện của xâu này trong xâu kia Bài 7: Nhập vào 1 xâu ký tự sao cho không có 2 xâu ký tự nào trùng nhau trong xâu nhập (nếu có thì yêu cầu nhập lại) Bài 8: Nhập vào 1 xâu ký tự, Nếu có 2 hoặc nhiều ký tự giống nhau đứng gần nhau thì chuyển thành n[ký tự] . Ví dụ : “aaaabbb” thì chuyển thành “4a3b”. (Nếu là 1111 chữ số 1 thì chuyển thành 41.) Bài 9: Nhập vào 1 xâu ký tự. Mã hóa và giải mã: Tịnh tiến các ký tự lên 3 đơn vị. Bài 10: Nhập vào 1 xâu ký tự. Đổi các ký tự hoa thành ký tự thường và ngược lại. Bài 11: Nhập vào 1 xâu ký tự. Đếm xem trong xâu có bao nhiêu từ. Tìm từ có độ dài lớn nhất. Bài 12: Nhập vào 1 xâu ký tự. Nhập 1 ký tự, kiểm tra ký tự đó đã có trong xâu chưa. Nếu chưa có thì chèn ký tự đó vào trong xâu. Nếu có hãy đưa ra vị trí của ký tự này trong xâu. Bài 13: Nhập vào xâu tên 1 người (viết bằng tiếng việt có dấu). Chuẩn hóa. Bài 14: Nhập vào 2 xâu S1 và S2. Nối S2 vào S1. Sâu đó in xâu được nối ra màn hình. Bài 15: Chuẩn hóa xâu Bài 16: Nhập vào 1 xâu ký tự. Đếm các ký tự hoa – thường. In ra chúng Bài 17: Nhập vào 1 xâu ký tự. Thay tất cả các ký tự “a” trong xâu bằng ký tự “b”, in xâu đã thay ra màn hình. Đếm số lần xuất hiện của các ký tự “a”. Đếm số từ có trong xâu.

Upload: caocuong0808

Post on 22-Oct-2014

119 views

Category:

Documents


1 download

TRANSCRIPT

Bài 1: Nhập vào 1 xâu ký tự. Kiểm tra xem chuỗi đó có bao nhiêu chữ cái, chữ số, ký tự khác?Bài 2: Nhập vào 1 xâu ký tự. Liệt kê các ký tự có mặt trong chuỗi và số lần xuất hiện của ký tự đó.Bài 3: Nhập vào 1 xâu ký tự:

1. Xét xem trong xâu có ký tự kề nhau mà trùng nhau không?2. Thực hiện phép loại bỏ các ký tự kề nhau mà như nhau chỉ để lại một.

Bài 4: Nhập vào 1 xâu ký tự. Kiểm tra tính đối xứng. Nếu xâu không đối xứng thì in đảo ngược xâu đó.Bài 5: Nhập vào 1 xâu ký tự. Chuẩn hóa xâu đạt các yêu cầu sau:

1. Xóa dấu cách đầu xâu, cuối xâu.2. Không còn 2 dấu cách cạnh nhau.3. Chuẩn hóa dấu phẩy, chấm (dấu rồi cách).4. Viết hoa chữ đầu tiên và chữ sau dấu chấm.

Bài 6: Nhập vào 2 xâu ký tự. Kiểm tra số lần xuất hiện của xâu này trong xâu kiaBài 7: Nhập vào 1 xâu ký tự sao cho không có 2 xâu ký tự nào trùng nhau trong xâu nhập (nếu có thì yêu cầu nhập lại)Bài 8: Nhập vào 1 xâu ký tự, Nếu có 2 hoặc nhiều ký tự giống nhau đứng gần nhau thì chuyển thành n[ký tự] . Ví dụ : “aaaabbb” thì chuyển thành “4a3b”. (Nếu là 1111 chữ số 1 thì chuyển thành 41.)Bài 9: Nhập vào 1 xâu ký tự. Mã hóa và giải mã: Tịnh tiến các ký tự lên 3 đơn vị.Bài 10: Nhập vào 1 xâu ký tự. Đổi các ký tự hoa thành ký tự thường và ngược lại.Bài 11: Nhập vào 1 xâu ký tự. Đếm xem trong xâu có bao nhiêu từ. Tìm từ có độ dài lớn nhất.Bài 12: Nhập vào 1 xâu ký tự. Nhập 1 ký tự, kiểm tra ký tự đó đã có trong xâu chưa. Nếu chưa có thì chèn ký tự đó vào trong xâu. Nếu có hãy đưa ra vị trí của ký tự này trong xâu.Bài 13: Nhập vào xâu tên 1 người (viết bằng tiếng việt có dấu). Chuẩn hóa.Bài 14: Nhập vào 2 xâu S1 và S2. Nối S2 vào S1. Sâu đó in xâu được nối ra màn hình.Bài 15: Chuẩn hóa xâuBài 16: Nhập vào 1 xâu ký tự. Đếm các ký tự hoa – thường. In ra chúngBài 17: Nhập vào 1 xâu ký tự. Thay tất cả các ký tự “a” trong xâu bằng ký tự “b”, in xâu đã thay ra màn hình. Đếm số lần xuất hiện của các ký tự “a”. Đếm số từ có trong xâu.Bài 18: Nhập vào 1 xâu ký tự. Sau đó nhập vào 1 ký tự. Tìm vị trí xuất hiện đầu tiên của ký tự vừa nhập trong xâu S1. In xâu kết quả bắt đầu từ ký tự đó?Bài 19: Nhập n xâu ký tự từ bàn phím. In ra độ dài ký tự xâu lớn nhất, nhỏ nhất. Sau đó in ra xâu lớn nhất, nhỏ nhất ấy.Bài 20: Nhập n xâu ký tự từ bàn phím. Tìm độ dài trung bình của tất cả các xâu. In ra xâu có độ dài nhỏ hơn độ dài trung bìnhBài 21: Nhập vào 1 xâu ký tự. Xóa tất cả các ký tự “a” trong xâu. In xâu vừa xóaBài 22: Nhập n xâu ký tự từ bàn phím. Sắp xếp xâu theo bảng chữ cái (từ a z). Sắp xếp xâu theo độ dài ký tự (từ ít đến nhiều).#include <conio.h>#include <iostream.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <ctype.h>void nhaptv(char xau[100]){

gets(xau);}void chenkitu(int vitri, char *chen , char *xau)

{int j=0,i=vitri=0; // de ychar temp[99];while (xau[i]!=NULL) temp[j++]=xau[i++];temp[j]=NULL;j=0;while (chen[j]!=NULL) xau[vitri++]=chen[j++];j=0;while (temp[j]!=NULL) xau[vitri++]=temp[j++];xau[vitri]=NULL;

}void chenkitu1(int vitri, char *chen , char *xau){

int j=0,i=vitri; // de ychar temp[99];while (xau[i]!=NULL) temp[j++]=xau[i++];temp[j]=NULL;j=0;while (chen[j]!=NULL) xau[vitri++]=chen[j++];j=0;while (temp[j]!=NULL) xau[vitri++]=temp[j++];xau[vitri]=NULL;

}void xoakitu(int i , int soluong , char *xau){

if (i+soluong-1>strlen(xau)) xau[0]=NULL;else{

while (xau[i+soluong]!=NULL) // i: vi tri duoc xoa{ // soluong: so luong tu duoc xoa

xau[i]=xau[i+soluong];i++;

}xau[i]=NULL;

}}void indnxau(char xau[],int vitri) // in dao nguoc xau tu cuoi den vitri{

if (vitri<strlen(xau)) indnxau(xau,vitri+1);

cout<<xau[vitri];}void timkiem(char xau[],char con[],int result[]) // tim kiem su xuat hien cua chuoi con trong chuoi xau{ // ketqua[0] luu so lan xuat hien. cac phan khac luu vitri xuat hien

int i,j,k=1,flag;result[0]=0;if(!((strlen(con)>strlen(xau))||(strlen(xau)==0)||(strlen(con)==0))) // ketqua[0]==0 <=>

khong co su xuat hien cua con[] trong xau[]{

for (i=0;i<strlen(xau);i++){

if (xau[i]==con[0]){

flag=1;for (j=0;j<strlen(con);j++) if (xau[i+j]!=con[j]) flag=0;if (flag) { result[k]=i;k++;result[0]++; }

}}

}}void bai1(void){

char *xau;xau=(char *)malloc(60);int a=0,b=0,c=0,i=0;cout<<"Nhap vap 1 chuoi ky tu : ";nhaptv(xau);while (xau[i]!=NULL){

if (isalpha(xau[i])) a++; // int isalpha(int kt): kiểm tra kt có phải là chữ cái?else if (isdigit(xau[i])) b++; //int isdigit(int kt): kiểm tra kt có phải là chữ số?

else c++;i++;

}if (a!=0 || b!=0 || c!=0){

cout<<"Trong chuoi vua nhap co: ";if (a>0) cout<<a<<" chu cai";if (a!=0 && b==0 && c==0) cout<<".";if (a!=0 && (b!=0 || c!=0)) cout<<", ";if (b>0) cout<<b<<" chu so ";if (a!=0 && b!=0 && c==0) cout<<".";if (c!=0) cout<<c<<" ky tu khac.";

}else cout<<"Ban vua nhap xau rong (phim enter).";free(xau);

}void bai2(void) //ok{

unsigned char *xau;xau=(unsigned char *)malloc(60);cout<<"Nhap vao mot xau ky tu : ";nhaptv(xau);if (xau[0]==NULL) cout<<"Ban vua nhap xau rong (phim enter).";else{

int i,j=0,k;cout<<"Trong chuoi vua nhap co : ";

for (i=32;i<255;i++){

k=0;for (j=0;j<strlen(xau);j++)

if (xau[j]==i) k++;if (k!=0)if (i!=32) cout<<k<<"["<<(char) i<<"]"<<" "; // (char):để in ra chữ cái đó

else cout<<k<<"[dau cach]"<<" ";}cout<<" Het!";

}free(xau);

}void bai3(void){

char *xau;xau=(char *)malloc(60);cout<<"Nhap vao 1 xau ky tu : ";nhaptv(xau);if (xau[0]==NULL) cout<<"Ban vua nhap xau rong (phim enter).";else{

int i,j,k,flag=0;for (i=0;i<strlen(xau);i++)if (xau[i]==xau[i+1]){

cout<<"Ban vua nhap chuoi co cac bo ky tu gan nhau va trung nhau la :\n"; flag=1;break;

}for (i=0;i<strlen(xau);i++){

if ((xau[i]==xau[i+1]) && (xau[i]!=xau[i-1])){ k=2; for (j=i+2;j<strlen(xau);j++)

if (xau[i]!=xau[j]) break; else k++; if (xau[i]!=32) cout<<k<<"["<<xau[i]<<"]";

else printf("%d kÝ tù c¸ch ®øng gÇn nhau \n",k);}

}for (i=0;i<strlen(xau);i++) if (xau[i]==xau[i+1]) {xoakitu(i--,1,xau);}if (flag) cout<<"\nChuoi ban nhat sau khi sua lai tro thanh : "<<xau;else cout<<"Chuoi ban vua nhap khong co ky tu nao trung nhau : "<<xau;

}free(xau);

}void bai4(void) //ok{

char *xau;

xau=(char *)malloc(60);cout<<"Nhap vao 1 chuoi ky tu : ";nhaptv(xau);if (xau[0]==NULL) cout<<"Ban vua nhap xau rong (phim enter).";else{

int i,flag=1;for (i=0;i<(strlen(xau)/2);i++)

if (xau[i]!=xau[strlen(xau)-i-1]) flag=0;if (flag) cout<<"Xau doi xung ! ";elsecout<<"\nXau khong doi xung ";

cout<<"\nIn dao nguoc xau: ";indnxau(xau,0);}free(xau);

}void bai5(void) // ok{

char *xau;xau=(char *)malloc(60);cout<<"Nhap vao 1 xau ky tu : ";nhaptv(xau);if (xau[0]==NULL) cout<<"Ban vua nhap xau rong (phim enter).";else{

int i;int j=0,a[20];for (i=0;i<strlen(xau);i++)

if ((xau[i]==46 || xau[i]==44) && (xau[i+1]>=97 && xau[i+1]<=122))a[j]=i+1,j++;

for (i=0;i<j+1;i++) chenkitu(a[i]+i," ",xau);while (xau[0]==32) xoakitu(0,1,xau);while (xau[strlen(xau)-1]==32) xoakitu(strlen(xau)-1,1,xau);

for (i=0;i<strlen(xau);i++)if (xau[i]==32 && xau[i+1]==32)

xoakitu(i--,1,xau);for (i=strlen(xau)-1;i>0;i--)

if ((xau[i]==46 || xau[i]==44) && (xau[i-1]==32))xoakitu(i-1,1,xau);

xau[0]=toupper(xau[0]);for (i=0;i<strlen(xau);i++)

if(xau[i]==46&&xau[i+1]==32 && xau[i+2]>=97 && xau[i+2]<=122)xau[i+2]=toupper(xau[i+2]);

cout<<"Xau sau khi chuan hoa la :"<<xau;}free(xau);

}void bai6(void){

char *xau;

xau=(char *)malloc(60);cout<<"Nhap vao 1 chuoi ky tu : ";nhaptv(xau);if (xau[0]==NULL) cout<<"Ban vua nhap xau rong (phim enter).";else{

char con[20];cout<<"Nhap vao cum tu ban muon tim kiem trong chuoi : ";nhaptv(con);if (con[0]==NULL) cout<<"Ban khong muon tim kiem trong chuoi sao ?";else{

int ketqua[20];timkiem(xau,con,ketqua);if (ketqua[0]==0) cout<<"Trong chuoi ban nhap khong co cum tu ban can

tim kiem .";else{

int i,x,y;cout<<"Cum tu ban can tim "<<con<<" xuat hien "<<ketqua[0]<<"

lan trong chuoi ban dau: \n";y=wherey();gotoxy(20,y);cout<<xau;textbackground(RED);for (i=1;i<=ketqua[0];i++)x=ketqua[i]+20,gotoxy(x,y),cout<<con;textbackground(BLUE);

}}

}free(xau);

}void bai7(void) //ok{

char * xau,ch='a';xau=(char *)malloc(60);int i=0,j,flag,ty,tx;cout<<"Nhap vao 1 xau ky tu : ";while (ch!=13){

ch=getch();if (ch==NULL) {ch=getch();continue;}if (ch==13) break;if ((i==0)||ch==32) { xau[i++]=ch;cout<<xau[i-1]; }else{ flag=1; for (j=0;j<i;j++)

if (ch==xau[j]) {flag=0;break;} if (flag)

{tx=wherex();ty=wherey();gotoxy(5,ty+1);cout<<" \ ";gotoxy(tx,ty);xau[i++]=ch;cout<<xau[i-1];

} else{

tx=wherex();ty=wherey();gotoxy(5,ty+1);cout<<"Ky tu nay da xuat hien trong xau roi. Yeu cau ban nhap lai ky

tu khac.";gotoxy(tx,ty);

}}

}xau[i]=NULL;tx=wherex();ty=wherey();gotoxy(5,ty+1);cout<<" ";gotoxy(tx,ty);if (xau[0]==NULL) cout<<"\nBan vua nhap xau rong (phim enter).";else cout<<"\nChuoi ky tu ban vua nhap la : "<<xau;free(xau);

}void bai8(void) //ok{

char *xau;xau=(char *)malloc(60);cout<<"Nhap vao 1 xau ky tu : ";nhaptv(xau);if (xau[0]==NULL) cout<<"Ban vua nhap xau rong (phim enter).";else{ int i,j,m,k,work[99];

work[0]=0;m=1;for (i=0;i<strlen(xau);i++)if (xau[i]==xau[i+1] && xau[i]!=xau[i-1]){

k=2;for (j=i+2; j<strlen(xau); j++)if (xau[i]==xau[j]) k++;else break;work[m++]=i*100+k; // ma hoawork[0]++;

}if (work[0]){

int vitri,flag=0,tongtinhtien=0;char chen[5];for (i=1;i<=work[0];i++){

vitri=work[i]/100+flag;k=work[i]%100;if(k<10){chen[0]=k+48;chen[1]=NULL;flag+=1;tongtinhtien+=100;}else{

int ak,bk;ak=k/10;bk=k%10;chen[0]=ak+48;chen[1]=bk+48;chen[2]=NULL;flag+=2;tongtinhtien+=200;

}chenkitu1(vitri,chen,xau);// chu y ham chen ky tuwork[i]+=tongtinhtien;

}for (i=work[0];i>0;i--){

vitri=work[i]/100;k=work[i]%100-1;xoakitu(vitri,k,xau);

}}cout<<"Xau sau khi thay the tro thanh : "<<xau;

} free(xau);

}void bai9(void) //ok{

char *xau;xau=(char *)malloc(60);cout<<"Nhap vao 1 xau ky tu : ";nhaptv(xau);if (xau[0]==NULL) cout<<"Ban vua nhap xau rong (phim enter).";else{

int i;for (i=0;i<strlen(xau);i++)if (isalpha(xau[i])){

if ((xau[i]>='a' && xau[i]<='w')||(xau[i]>='A' && xau[i]<='W'))xau[i]+=3;

else if(xau[i]=='x'||xau[i]=='y'||xau[i]=='z'||xau[i]=='X'||xau[i]=='Y'||xau[i]=='Z')xau[i]-=23;

}cout<<"Xau sau khi ma hoa la :"<<xau;

} free(xau);

}void bai10(void) //ok{

char *xau;xau=(char *)malloc(60);

cout<<"Nhap vao 1 xau ky tu : ";nhaptv(xau);if (xau[0]==NULL) cout<<"Ban vua nhap xau rong (phim enter).";else{

int i;for (i=0;i<strlen(xau);i++)if (xau[i]>='a' && xau[i]<='z') xau[i]-=32;else if (xau[i]>='A' && xau[i]<='Z') xau[i]+=32;cout<<"Xau sau khi xu ly la :"<<xau;

} free(xau);

}void bai11(void) //ok{

char *xau;xau=(char *)malloc(60);cout<<"Nhap vao 1 xau ky tu : ";nhaptv(xau);if (xau[0]==NULL) cout<<"Ban vua nhap xau rong (phim enter)."; else{

int i,m,flag=0,max=0,sl=0;for (i=0;i<strlen(xau);i++)

if ((i==0 && xau[i]!=32) || (xau[i-1]==32 && xau[i]!=32)){

m=i;while (xau[m]!=32 && xau[m]!=NULL) m++;if (m-i>max) max=m-i;i=m;flag++;

}cout<<"Trong chuoi vua nhap co "<<flag<<" tu va do dai lon nhat cua tu trong

chuoi do la "<<max<<endl;textbackground(RED);for (i=0;i<strlen(xau);i++){

if (xau[i]==32) cout<<" ";else

if ((i==0 && xau[i]!=32) || (xau[i-1]==32 && xau[i]!=32)){

m=i;while (xau[m]!=32 && xau[m]!=NULL) m++;if (m-i==max){

for (flag=i;flag<m;flag++)cout<<xau[flag];

sl++;}elsefor (flag=i;flag<m;flag++)cout<<xau[flag];i=m-1;

}}textbackground(BLUE);cout<<"\n\n\nChy y:";if (sl==1) cout<<"\nTu co do dai lon nhat la tu duoc to mau ben tren.";else cout<<sl<<" tu co do dai lon nhat la "<<sl<<" tu duoc to mau ben tren.";

} free(xau);

}void bai12(void) //ok{

char *xau;xau=(char *)malloc(60);cout<<"Nhap vao 1 xau ky tu : ";nhaptv(xau);if (xau[0]==NULL) cout<<"Ban vua nhap xau rong (phim enter).";else{

int flag=0,i;char ch;cout<<"Nhap vao 1 ky tu : ";cin>>ch;for (i=0;i<strlen(xau);i++)if (xau[i]==ch) flag++;

if (flag){ cout<<"Trong chuoi xuat hien "<<(flag -1)<<" lan ky tu nay : "<<endl; textbackground(WHITE); textcolor(BLACK); for (i=0;i<strlen(xau);i++)

if (xau[i]==ch) cout<<xau[i];else cout<<xau[i];textbackground(BLUE);textcolor(GREEN);

}else

{char chen[3];int vitri;chen[0]=ch;chen[1]=NULL;cout<<"Trong chuoi chua xuat hien ky tu nay. Hay chen ky tu nay

vao trong chuoi.\nNhap vi tri se chan ky tu : ";cin>>vitri;if (vitri>strlen(xau)) vitri=strlen(xau);chenkitu(vitri,chen,xau);cout<<"Xau ban dau tro thanh : ";textbackground(RED);for (i=0;i<strlen(xau);i++)

if (xau[i]==ch) cout<<xau[i];else cout<<xau[i];textbackground(BLUE);

}}

free(xau);}void bai13(void) //ok{

char *xau;xau=(char *)malloc(60);cout<<"Nhap vao 1 xau ky tu : ";nhaptv(xau);if (xau[0]==NULL) cout<<"Nguoi nay khong co ten ???";else{

int i;for (i=0;i<strlen(xau);i++)

if (isdigit(xau[i])) xoakitu(i--,1,xau);while (xau[0]==32) xoakitu(0,1,xau);while (xau[strlen(xau)-1]==32) xoakitu(strlen(xau)-1,1,xau);for (i=0;i<strlen(xau);i++)

if (xau[i]==xau[i+1])xoakitu(i--,1,xau);

xau[0]=toupper(xau[0]);for (i=1;i<strlen(xau);i++)

if (xau[i]==32) xau[i+1]=toupper(xau[i+1]);cout<<"Co phai ban muon nhap xau la :"<<xau;

} free(xau);

}void bai14(void) //ok chua hoan toan chinh xac{

char *s1,*s2;s1=(char *)malloc(120);s2=(char *)malloc(120);int i,j;cout<<"Nhap vao xau ky tu s1 : ";

nhaptv(s1);cout<<"Nhap vao xau ky tu s2 : ";nhaptv(s2);j=strlen(s1);chenkitu(0," ",s2);for (i=0;i<=strlen(s2);i++)

s1[i+j]=s2[i];cout<<"Chuoi s1 sau khi phau thuat cay ghep la : "<<s1;free(s1);free(s2);

}void bai15(void){

int i,j;char s[1000];cout<<"Nhap 1 xau ky tu:";gets(s);strlwr(s);while(s[0]==32)for(i=0;i<=strlen(s);i++)s[i]=s[i+1];s[0]=toupper(s[0]);for(i=1;i<strlen(s);i++)while(s[i]==32 && (s[i+1]==32 || s[i+1]=='\0'))

{for(j=i;j<=strlen(s);j++)s[j]=s[j+1];

}for(i=1;i<strlen(s);i++)if(s[i]==32 && s[i+1]!=32)s[i+1]=toupper(s[i+1]);cout<<"\nXau chuan hoa:"<<s;

}void bai16(void){ char s[100];int i; cout<<"nhap vao 1 chuoi: "; fflush(stdin); gets(s); int hoa[26],thuong[26]; int l=strlen(s);

//khoi tao mang demfor (i=0; i<26; i++)

hoa[i] = thuong[i] = 0;//dem cac ki tufor (i=0; i<l; i++)

if (s[i]>='A' && s[i]<= 'Z') {

cout<<"\ns["<<i<<"] = "<<s[i];hoa[s[i]-'A']++;

} else if (s[i]>='a' && s[i]<= 'z') {

cout<<"\ns["<<i<<"] = "<<s[i];thuong[s[i]-'a']++;

}cout<<"\nCac chu hoa: ";

for (i=0; i<26; i++)if (hoa[i]>0)

cout<<(char) (i+'A')<<": "<<hoa[i]<<" tu, ";cout<<"\nCac chu thuong: ";

for (i=0; i<26; i++)if (thuong[i]>0)

cout<<(char) (i+'a')<<": "<<thuong[i]<<" tu, ";}void bai17(void){char s[50];int dem=0,d=0;cout<<"nhap chuoi S: ";fflush(stdin);gets(s);for(int i=0;i<strlen(s);i++)

if(s[i]=='a'){

s[i]='b'; dem++;}

for(int i=0;i<strlen(s)-1;i++)if(s[i]==' '&& s[i+1]!=' '){ d++;}if(s[0]!=' ') d++;cout<<"chuoi thay ky tu 'a' thanh 'b' la: "<<s<<endl;cout<<"so lan xuat hien cua ky tu a la:"<<dem<<endl;cout<<"so tu xuat hien trong xau la: "<<d;

}void bai18(void){

char s1[30], ch, *kq;int i;cout<<"Moi nhap s1 =";gets(s1);cout<<"Moi nhap ki tu ch =";fflush(stdin);gets(&ch);kq = strchr(s1, ch);if (kq != NULL){

cout<<"\nChuoi s1 la:"<<s1;

cout<<"\nChuoi ket qua bat dau tu ky tu '"<<ch<<"' :"<<kq;cout<<"\nCh xuat hien dau tien trong S1 o vi tri:"<<(kq-s1)+1;

}else cout<<"Khong tim thay "<<ch<<" trong s1";

}void bai19(void){

clrscr(); char s[100][50];int i,n; cout<<"nhap so chuoi: ";cin>>n;

for (i=1; i<=n; i++) {

cout<<"\nNhap chuoi thu "<<i<<" :"; fflush(stdin); gets(s[i]); } int max,min; max=strlen(s[0]);min=strlen(s[0]); for(i=1;i<=n;i++) { if(strlen(s[i])>max) max=strlen(s[i]); if(strlen(s[i])<min) min=strlen(s[i]); } cout<<"\nDo dai ky tu cua chuoi lon nhat la: "<<max<<endl; cout<<"Do dai ky tu cua chuoi nho nhat la: "<<min<<endl; cout<<"Chuoi co ky tu do dai lon nhat la:"; for(i=1;i<=n;i++) if(strlen(s[i])==max) cout<<s[i]; cout<<"\nChuoi co ky tu do dai nho nhat la:"; for(i=1;i<=n;i++) if(strlen(s[i])==min) cout<<s[i];}void bai20(void){

clrscr(); char s[100][50];int i,n; // char s[100][50]:độ dài xâu S[], và số xâu S[] tối đa cout<<"nhap so chuoi: ";cin>>n;

for (i=1; i<=n; i++) {

cout<<"\nNhap chuoi thu "<<i<<" :"; fflush(stdin); gets(s[i]); } int tongdd=0,tb; for (i=1; i<= n; i++)

tongdd += strlen(s[i]); tb=tongdd/n; cout<<"Do dai TB cua xau vua nhap la:"<<tb<<endl;

cout<<"\nCac chuoi co do dai nho hon "<<tb<<" la:"<<endl;for (i=1; i<=n; i++)if(strlen(s[i])<tb)

cout<<s[i]<<endl;}void bai21(void){

char *xau;xau=(char *)malloc(60);cout<<"Nhap vao 1 xau ky tu : ";nhaptv(xau);for (int i=0;i<strlen(xau);i++)if (xau[i]=='a') {xoakitu(i--,1,xau);}cout<<"\nXau sau khi duoc xoa ky tu ‘a’ la : "<<xau;

}void bai22(void){ char s[100][50],tg[50];int i,j,n; cout<<"nhap so chuoi: ";cin>>n;

for (i=1; i<=n; i++){

cout<<"\nNhap chuoi thu "<<i<<" :"; fflush(stdin); gets(s[i]); }

for(i=1;i<=n;i++)for(j=i+1;j<=n;j++)

if (strcmp(s[i],s[j])>0) { strcpy(tg,s[i]); strcpy(s[i],s[j]); strcpy(s[j],tg); } cout<<"\nChuoi duoc sap xep theo bang chu cai la: "<<endl; for (i=1;i<=n;i++) cout<<i<<"- "<<s[i]<<endl; for(i=1;i<=n;i++) for(j=i+1;j<=n;j++) if (strlen(s[i])>strlen(s[j])) { strcpy(tg,s[i]); strcpy(s[i],s[j]); strcpy(s[j],tg); } cout<<"\nChuoi duoc sap xep theo do dai ky tu la: "<<endl; for (i=1;i<=n;i++) cout<<i<<"- "<<s[i]<<endl;}void main(){

clrscr(); int n; cout<<"Chon bai muon lam viec:"; cin>>n; switch(n) { case 1:bai1();break; case 2:bai2();break; case 3:bai3();break; case 4:bai4();break; case 5:bai5();break; case 6:bai6();break; case 7:bai7();break; case 8:bai8();break; case 9:bai9();break; case 10:bai10();break; case 11:bai11();break; case 12:bai12();break; case 13:bai13();break; case 14:bai14();break; case 15:bai15();break; case 16:bai16();break; case 17:bai17();break; case 18:bai18();break; case 19:bai19();break; case 20:bai20();break; case 21:bai21();break; case 22:bai22();break; }getch();}