Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: bài tập về chuỗi, viết hoa chữ cái đầu và loại bỏ khoảng trống dư thừa

  1. #1
    Ngày gia nhập
    12 2007
    Bài viết
    5

    Mặc định bài tập về chuỗi, viết hoa chữ cái đầu và loại bỏ khoảng trống dư thừa

    Em có bài tập này nhờ mọi người giúp đỡ:
    Hãy nhập vào một chuỗi bất kỳ và:
    1.Viết hoa các chữ đầu dòng
    Vd:chuỗi TRươnG đẠi HọC
    Kết quả: Trường Đại Học
    2.Tạo 1 chuỗi con và tìm trong chuỗi con này có chữ gì trùng với chuỗi mẹ không.
    Vd:
    Trường Đại Học
    chuỗi con: đa
    kết quả : đa có trong chuỗi Trường Đại Học
    3.Bỏ tất cả những khoảng trắng thừa trong chuỗi
    Vd: Trường Đại Học
    kết quả: Trường Đại Học
    nhức đầu mấy ngày rồi mà không có làm được
    Mong mọi người giúp đỡ em.Cám ơn mọi người.

  2. #2
    Ngày gia nhập
    03 2008
    Bài viết
    9

    đây la code xoa khoang? trắng của hackermubaohiem viet này.Bạn xem thu xem
    C Code:
    1. void cleanText(char str[max])
    2.  
    3. {
    4.     int n=strlen(str);
    5.     for(int i=0;i<n;i++)
    6.     {
    7.  
    8.         if (str[i]==' ')
    9.         {
    10.             if (str[i+1]==' ')
    11.             {
    12.                 int k=i;
    13.                 while (str[i]==' ')
    14.                 {
    15.                     xoakytu(str,i);
    16.                     i=k+1;
    17.                 }
    18.             }
    19.         }
    20.  
    21.     }
    22. }
    23.  
    24.  
    25. void xoakytu(char str[max],int vitri)
    26. {
    27.     int n=strlen(str);
    28.     for(int i=vitri;i<n;i++)
    29.     {
    30.         str[i]=str[i+1];
    31.     }
    32.  
    33. }
    34.  
    35.  
    36. void xoakhoangtrangcuoichuoi(char str[max])
    37. {
    38.     int k=strlen(str)-1;
    39.     while (str[k]==32)
    40.     {
    41.         xoakytu(str,k);
    42.         k=strlen(str)-1;
    43.     }
    44. }
    45. void xoatabtrongchuoi(char str[max])
    46. {
    47.  int i,n=strlen(str);
    48.  for(i=0;i<n;i++)
    49.  while(str[i]=='\t')
    50.  str[i]=' ';
    51.  }

  3. #3
    Ngày gia nhập
    03 2008
    Bài viết
    9

    s[i]= toupper(s[i]);
    hàm này để viết hoa này

  4. #4
    Ngày gia nhập
    07 2006
    Nơi ở
    Hà Nội
    Bài viết
    138

    Hãy học viết cái tiêu đề đi đã bạn ah, lúc nãy định trả lời cho bạn, nhưng bạn lại không may mắn, bởi vì có một tên không có tinh thần chia sẻ, hợp tác, đoàn kết, vào phán bậy bạ, nên chỉ kịp xóa bài viết của hắn ta đi thôi.

    Bạn có thể làm như sau:
    C Code:
    1. while(str[i]!=NULL) // Trong khi chưa kết thúc chuỗi
    2. {
    3.   if(str[0]>=0x61 && str[0]>=0x7A) // Nếu ký tự đầu tiên là chữ thường, có thể đưa điều kiện này ra ngoài vòng lặp
    4.   {
    5.      str[0]-=0x20; // Chuyển thành chữ Hoa
    6.   } else if(i>0 && str[i]>=0x61 && str[i]>=0x7A && str[i-1]==' ') // Nếu nó là chữ thường và trước nó là khoảng trống
    7.      {
    8.          str[0]-=0x20; // Chuyển thành chữ Hoa
    9.      } else if(i>0 && str[i]>=0x41 && str[i]>=0x5A && str[i-1]!=' ') // Nếu nó là chữ hoa và trước nó không phải là khoảng trống.
    10.        {
    11.          str[0]+=0x20; // Chuyển thành chữ thường
    12.        }
    13. }

    Bài sau tự suy nghĩ đi. Nhác cũng phải suy nghĩ, khó đâu hỏi đó mới tốt!
    Tất cả các câu hỏi của thành viên (không vi phạm luật lệ tham gia) gửi vào box Java, Linux nếu không thành viên nào trả lời hỗ trợ trong vòng 24h, ban quản trị sẽ trực tiếp hỗ trợ. Các bạn giới thiệu và loan tin giúp điều này

  5. #5
    Ngày gia nhập
    03 2008
    Bài viết
    9

    Minh vừa code bạn xem đi
    C Code:
    1. #include <stdio.h>
    2. #include <ctype.h>
    3. #include <conio.h>
    4. #include <string.h>
    5.  
    6. void viethoachudau(char []) ;
    7. main()
    8. {
    9. char s[50];
    10. printf("nhap chuoi:");scanf("%[^\n]",s);
    11. viethoachudau(s);
    12. printf("sau khi su li : %s",s);
    13. getch();
    14.   }
    15.  
    16. void viethoachudau(char s[50])
    17. {
    18. int i,len = strlen(s);
    19. //isspace la ham kt xem co phai? la khoang? trang hok(\n \t \v...)
    20. if (!isspace(s[0]))//bat dau la 1 ki
    21.     s[0]= toupper(s[0]);
    22. else
    23.  for(i=len-1;i>0;i--)
    24.     if(!isspace(s[i])&&isspace(s[i-1]))
    25.     s[i]= toupper(s[i]);
    26.  
    27. }

  6. #6
    Ngày gia nhập
    03 2008
    Bài viết
    7

    Mặc định bài tập về chuỗi, viết hoa chữ cái đầu và loại bỏ khoảng trống dư thừa

    Trích dẫn Nguyên bản được gửi bởi adam452 Xem bài viết
    Minh vừa code bạn xem đi
    C Code:
    1. #include <stdio.h>
    2. #include <ctype.h>
    3. #include <conio.h>
    4. #include <string.h>
    5.  
    6. void viethoachudau(char []) ;
    7. main()
    8. {
    9. char s[50];
    10. printf("nhap chuoi:");scanf("%[^\n]",s);
    11. viethoachudau(s);
    12. printf("sau khi su li : %s",s);
    13. getch();
    14.   }
    15.  
    16. void viethoachudau(char s[50])
    17. {
    18. int i,len = strlen(s);
    19. //isspace la ham kt xem co phai? la khoang? trang hok(\n \t \v...)
    20. if (!isspace(s[0]))//bat dau la 1 ki
    21.     s[0]= toupper(s[0]);
    22. else
    23.  for(i=len-1;i>0;i--)
    24.     if(!isspace(s[i])&&isspace(s[i-1]))
    25.     s[i]= toupper(s[i]);
    26.  
    27. }
    Xem lại code
    Bài 1
    Code:
    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>
    main()
    {
    int i=0;
    char s[50];
    printf("nhap chuoi :");
    fgets(s,50,stdin);
    s[0]=toupper(s[0]);
    for(i=1;s[i]!='\0';++i)
    {
    if(isspace(s[i]))
    {
    s[i+1]=toupper(s[i+1]);
    }
    }
    printf("Ket qua :%s",s);
    }
    +Bài 3
    Code:
    main()
    {
    int i=0;
    char s[50];
    printf("Nhap chuoi :");
    fgets(s,50,stdin);
    for(;s[i]!='\0';++i)
    {
    if(isspace(s[i]))
    {
    strcpy(&s[i],&s[i+1]);
    }
    }
    printf("Ket qua :%s\n",s);
    }
    Còn bài 2 để chiều về tôi nghĩ rồi post sau,bây tôi phải đi học bạn thông cảm nhé

  7. #7
    Ngày gia nhập
    12 2006
    Nơi ở
    US
    Bài viết
    1,917

    nhức đầu mấy ngày rồi mà không có làm được
    Cả 3 bài à cậu, bớt nói thách đi cậu !
    C Code:
    1. #include <stdio.h>
    2. #include <string.h>
    3.  
    4. int main (){
    5.   char str[] = "Word is not enough";
    6.   if(strstr(str, "not"))
    7.     printf("%s is there.");
    8.   else
    9.     printf("%s is not there.");
    10.  
    11.   return 0;
    12. }

Các đề tài tương tự

  1. Chuỗi kí tự sau khi loại bỏ khoảng trắng lại trở thành System.Web.UI.WebControls.TextBox?
    Gửi bởi Thuy Berbatov trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 4
    Bài viết cuối: 06-09-2013, 11:48 PM
  2. MS SQL với C# Muốn tính tổng số tiền từng loại tài khoản của 1 khách hàng thi làm như thế nào
    Gửi bởi thaito trong diễn đàn Thắc mắc Microsoft SQL Server & Microsoft Access
    Trả lời: 1
    Bài viết cuối: 07-08-2013, 09:17 AM
  3. Lập trình C sử dụng strcpy làm bài toán để loại 1 khoảng trắng giữa các chữ trong một chuỗi
    Gửi bởi longnhkse60984 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 26-07-2012, 03:26 PM
  4. cách loại bỏ khoản trắng trong chuỗi C# để lấy số?
    Gửi bởi satthuvotinh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 16-05-2012, 10:07 PM
  5. Bài tập C Viết hàm loại bỏ những khoảng trắng dư thừa trong xâu!
    Gửi bởi hoahong180187 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 37
    Bài viết cuối: 12-07-2010, 10:40 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn