Code C-C++: Các bài toán xử lý chuỗi (string) - (Phần 2)

Người đăng: share-nhungdieuhay on Thứ Ba, 1 tháng 10, 2013


1. Viết chương trình đổi những kí tự đầu tiên của mỗi từ thành chữ in hoa.
void chuhoadau(char *s){
    s[0]=toupper(s[0]);
while(strstr(s," ")!=NULL){
    s=strstr(s," ")+1;
    s[0]=toupper(s[0]);
} 
}

2. Viết chương trình đổi chữ xen kẻ 1 chữ hoa và 1 chữ thường.
Ví dụ: nhập ABCDEfgh đổi thành AbCdEfGh
void chuxenke(char *a){
  int n=strlen(a);
for(int i=0;i<n;i++){
  if(i%2==0)
  if((int)a[i]>=97 && (int)a[i]<=122)
     a[i]=char((int)a[i]-32);
     if(i%2==1)
     if((int)a[i]>=65 && (int)a[i]<=90)
     a[i]=char((int)a[i]+32);
} 
  puts(a);
}

3. Viết chương trình  đảo ngược các kí tự trong chuỗi.
Ví dụ: nhập ABCDE, xuất ra màn hình là:EDCBA
void daochuoi(char *s)
{   
puts(strrev(s)); 
}

4. Viết chương trình tìm kiếm 1 kí tự xem có trong chuỗi không, nếu có xuất ra vị trí của từ chứ kí tự  đó. (Vd: xâu a là “ho chi minh”: nhập ‘m’=>kết quả là 3)

int vitri(char *a,char *b){
int kq,d=0;
if(strstr(a,b)!=NULL){
kq=strlen(a)-strlen(strstr(a,b));
for(int i=kq;i>=0;i--)
if(a[i]==' ')
d++;
return d+1;
}
else return -1;
}

5. Viết 1 chương trình đếm một kư tự  xuất hiện bao nhiêu lần trong chuỗi.(vd: xâu a nhập là “ho chi minh”, nhập ‘i’ => kq: 2)
int diemtu(char *a,char *b){
int d=0;
while(strstr(a,b)!=NULL){
d++;
a=strstr(a,b)+1; 
} 
return d;
}
Tags: Lập trình, C, C++, C#, String, string, xử lý chuỗi

{ 0 nhận xét... read them below or add one }

Đăng nhận xét