Chào mừng đến với Diễn đàn lập trình - Cộng đồng lập trình.
Kết quả 1 đến 5 của 5
  1. #1
    Ngày tham gia
    Dec 2015
    Bài viết
    0
    Trích dẫn Gửi bởi acthu489
    - Thầy của bạn đem xâu đó tách thành n từ, mỗi từ là 1 xâu con. Dùng mảng 2 chiều với ý nghĩa chiều thứ nhất là n từ , chiều thứ 2 nội dung mỗi từ.
    - Cơ mà thấy truyền vào "char *s" mà không thấy dùng đến s, có vẻ thiếu một đoạn code tách chuỗi s thành các từ và nhét vào mảng x.
    Vâng đúng r ạ, thực code đầy đủ của hàm đấy thế này:

    void chuanhoa(char *s){
    char x[40][30]; char *tmp; int n=0;
    tmp = strtok(s," ");
    while(tmp!=NULL){
    strcpy(x[n],tmp);
    n++;
    tmp=strtok(NULL," ");
    }
    int i,j;
    for(i=0;i<n;i++){
    x[i][0]=toupper(x[i][0]);
    for(j=1;j<strlen(x[i]);j++)
    x[i][j] = tolower(x[i][j]);
    }
    printf("
    Ket qua: ");
    for(i=0;i<n;i++)
    printf("%s ",x[i]);
    }

    Anh giải thích giúp em từ chỗ int i,j trở xuống dc k, em vẫn chưa hiểu lắm

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0

    Cấn hỏi về chuẩn hóa xâu trong C?

    Em có bài tập yêu cầu thế này:Chuẩn hoa xâu về dạng sau:chử cái đầu của mỗi từ viết hoa, còn lại viết thường
    Thầy giáo em có hàm xử lý câu này như sau:

    void chuanhoa(char *s){
    char x[40][30];
    int i,j;
    for(i=0;i<n;i++){
    x[i][0]=toupper(x[i][0]);
    for(j=1;j<strlen(x[i]);j++)
    x[i][j] = tolower(x[i][j]);
    }
    printf("
    Ket qua: ");
    for(i=0;i<n;i++)
    printf("%s ",x[i]);
    }

    Cho em hỏi sao đoạn code trên lại dùng mảng 2 chiều? Và xin giải thích chi tiết cho em về hoạt động của đoạn code trên. Em cảm ơn

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    - Thầy của bạn đem xâu đó tách thành n từ, mỗi từ là 1 xâu con. Dùng mảng 2 chiều với ý nghĩa chiều thứ nhất là n từ , chiều thứ 2 nội dung mỗi từ.
    - Cơ mà thấy truyền vào "char *s" mà không thấy dùng đến s, có vẻ thiếu một đoạn code tách chuỗi s thành các từ và nhét vào mảng x.

  4. #4
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    - dịch nó ra thì thế này:

    - cho biến i chạy từ 0 đến n , tại mỗi bước thực hiện như sau: //thực ra là duyệt 1 lượt n từ tìm được
    {
    . chuyển kí tự đầu tiên của từ thành chữ hóa //x[i][o] là ký tự đầu tiên của từ x[i], hàm toupper(char c) là trả lại dạng viết hoa của c, ví dụ toupper('a') => return 'A';
    . duyệt các ký tự tiếp theo của từ đó, chuyển chúng thành chữ thường //các ký tự tiếp theo là x[i][1],x[i][2],x[i][3], .....,hàm tolower(char c) thì ngược với hàm upper
    }

    cuối cùng thì in ra các từ

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi acthu489
    - dịch nó ra thì thế này:

    - cho biến i chạy từ 0 đến n , tại mỗi bước thực hiện như sau: //thực ra là duyệt 1 lượt n từ tìm được
    {
    . chuyển kí tự đầu tiên của từ thành chữ hóa //x[i][o] là ký tự đầu tiên của từ x[i], hàm toupper(char c) là trả lại dạng viết hoa của c, ví dụ toupper('a') => return 'A';
    . duyệt các ký tự tiếp theo của từ đó, chuyển chúng thành chữ thường //các ký tự tiếp theo là x[i][1],x[i][2],x[i][3], .....,hàm tolower(char c) thì ngược với hàm upper
    }

    cuối cùng thì in ra các từ
    Cảm ơn anh em hiểu rồi ạ [IMG]images/smilies/online.gif[/IMG]

 

 

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •