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

Đề tài: Thao tác chuỗi trên C như thế nào?

  1. #1
    Ngày gia nhập
    11 2006
    Bài viết
    4

    Mặc định Thao tác chuỗi trên C như thế nào?

    mình mới bắt đầu học lập trình, đầu tiên là C. thày giáo cho 1 bài như sau :
    cho biết kết quả đoạn chương trình sau với s=abcabded" và s=adb121ceb

    Code:
    #include<stdio.h>
    #include<conio.h>
    void main(){
    int T[100];
    char S[100];
    printf("\n nhap xau s=");
    fflush(stdin); 
    gets(S);
    for(i=0;i<26;i++) T[i]=0;
    for(i=0;i<strlen(S);i++)
       T[S[i]-'a']++;
    for(i='a';i<'z';i++)
        if(T[i-'a']>a)
              printf("\n %c la %d",i,T[i-'a'];
    }
    đoạn đầu tiên thì không nói làm gì, nhưng cái đoạn

    Code:
    for(i=0;i<26;i++) T[i]=0;
    for(i=0;i<strlen(S);i++)
       T[S[i]-'a']++;
    for(i='a';i<'z';i++)
        if(T[i-'a']>a)
              printf("\n %c la %d",i,T[i-'a];
    nó cứ rắc rối giữa ký tự rồi lại số mình chẳng hiểu ra sao cả
    các có thể phân tích kỹ lại đoạn code trên kô ???

  2. #2
    No Avatar
    namleb Khách

    Đoạn code có vẻ viết sai ngôn ngữ
    Code:
    for(i=0;i<26;i++) T[i]=0; /*Khởi tạo mảng 26 ký tự chữ cái*/
    for(i=0;i<strlen(S);i++)  /*Duyệt S*/
       T[S[i]-'a']++;         /*Phần tử T tổng số lần xuất hiện của 1 ký tự có trong S*/
                              /*S = "abbcbz" thì T = {1, 3, 1, ....1}*/
                            /*S[0] - 'a' = 0 => T[0]++  với {'a', 'b',...,'z'}  = {97, 98,...,122}         */
    for(i='a';i<'z';i++)     /*i=97 -> 122*/
        if(T[i-'a']>'a')     /*cái này phải là  >0 ?!!*/
              printf("\n %c la %d\n",i,T[i-'a']);/*Xuất số đếm ký tự trong S*/
    Test: S = "daabcbaaza";
    => T = {5, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0 , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1}
    Output:
    a la 5
    b la 2
    c la 1
    d la 1
    z la 1


  3. #3
    Ngày gia nhập
    07 2006
    Nơi ở
    Hanoi, Vietnam
    Bài viết
    2,750

    anhtu08 chú ý cái tiêu đề nhé.

    cho biết kết quả đoạn chương trình sau với s=abcabded" và s=adb121ceb
    Không hiểu yêu cầu ở đây là gì? Kết quả đó là kết quả gì?
    Email: admin[@]congdongcviet.com | CC to: info[@]congdongcviet.com
    Phone: 0972 89 7667 (Office: 04 6329 2380)
    Yahoo & Skype: dreaminess_world (Vui lòng chỉ rõ mục đích ngay khi liên hệ, cảm ơn!)

    Một người nào đó coi thường ý thức kỷ luật cũng có nghĩa là người đó đã coi thường tương lai số phận của chính bản thân người đó. Những người coi thường ý thức kỷ luật sẽ không bao giờ có được sự thành công trong sự nghiệp!

  4. #4
    No Avatar
    namleb Khách

    s=abcabded"
    kq:
    a la 2
    b la 2
    c la 1
    d la 2
    e la 1
    //ký tự " nằm ngoài mảng T
    Tương tự: s=adb121ceb
    kq:
    a la 1
    b la 2
    c la 1
    d la 1
    e la 1

    //ký tự 1, 2 và 3 ngoài T


  5. #5
    Ngày gia nhập
    10 2010
    Nơi ở
    MỸ THO
    Bài viết
    86

    khó hiểu thật!thật là khó hiểu!hiểu thật là khó!
    **********************
    Khôn mà gian ác là khôn độc
    Dạy mà hiền lành là dạy khôn

    **********************
    Phone: 0972 755 699 - 090 5678 164
    Mail: thatbaithilamlai@gmail.com

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

  1. Lập trình C Cách cho di chuyển chuỗi kí tự trên màn hình như thế nào?
    Gửi bởi contimmongmanh 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: 11-04-2013, 09:01 PM
  2. Lập trình C++ Các thao tác xử lý trên chuỗi kí tự (bằng hàm)
    Gửi bởi phongnhatchi trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 8
    Bài viết cuối: 23-12-2011, 11:43 AM
  3. Lập trình C Các thao tác trên chuỗi bit trong C như thế nào?
    Gửi bởi nguh1 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 3
    Bài viết cuối: 27-10-2010, 08:51 PM
  4. Tạo 1 chuỗi button trên C# như thế nào?
    Gửi bởi birainkid60 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 6
    Bài viết cuối: 10-10-2010, 09:30 AM
  5. Tách chuỗi trên C# như thế nào?
    Gửi bởi boy8x_sg trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 17-03-2010, 10:45 PM

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