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

Đề tài: Bài tập chuỗi!! thắc mắc về strlen()

  1. #1
    Ngày gia nhập
    02 2010
    Bài viết
    113

    Mặc định Bài tập chuỗi!! thắc mắc về strlen()

    yêu cầu: nhập vào độ dài của chuỗi! sau đó nhập từng kí tự một vào chuỗi!
    tìm số nguyên âm! phụ âm
    C Code:
    1. void main()
    2. {
    3.     char s1[15];
    4.     int n,i;
    5.     int dem;
    6.    
    7.     printf("Nhap do dai chuoi: ");
    8.     scanf("%d",&n);
    9.     for(i=0;i<n;i++)
    10.     {
    11.         printf("Nhap ki tu %d: ",i+1);
    12.         _flushall();
    13.         scanf("%c",&s1[i]);
    14.     }
    15.     dem=0;
    16.     for(int i=0;i<n;i++)
    17.     {
    18.         if(s1[i]=='a'||s1[i]=='A'||s1[i]=='E'||s1[i]=='e'||s1[i]=='I'||s1[i]=='i'||s1[i]=='o'||s1[i]=='O'||s1[i]=='u'||s1[i]=='U')
    19.             dem++;
    20.  
    21.     }  
    22.     int k=strlen(s1);
    23.     printf("Xuat nguyen am: %d\n",dem);
    24.     printf("\n%d\n", k-dem);
    25.     printf("fu am: %d", n-dem);
    26.  
    27. }
    út không hiểu tại sao: sau khi ta tìm được số nguyên âm trong chuỗi thì để tìm số phụ âm ta không thể dùng
    C Code:
    1. int k=strlen(s1);// k ở đây là số phụ âm
    2. printf("\n%d\n", k-dem);
    mọi người góp ý dùm nhé!!!

  2. #2
    Ngày gia nhập
    04 2010
    Bài viết
    1,534

    strlen dựa vào ký tự kết chuỗi '\0' để nhận biết cuối chuỗi.
    Code của bạn không có lúc nhét kt này vào cuối chuỗi nên strlen không làm việc được.
    Để nhét kt kết chuỗi:
    s1[n] = '\0';

    tb. giải thuật của bài này không đúng. Số phụ âm không hẳn đã là độ dài chuỗi trừ đi số nguyên âm.
    Chuỗi có thể chứa ký tự không phải là mẫu tự chữ.

  3. #3
    Ngày gia nhập
    02 2010
    Bài viết
    113

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    strlen dựa vào ký tự kết chuỗi '\0' để nhận biết cuối chuỗi.
    Code của bạn không có lúc nhét kt này vào cuối chuỗi nên strlen không làm việc được.
    Để nhét kt kết chuỗi:
    s1[n] = '\0';

    tb. giải thuật của bài này không đúng. Số phụ âm không hẳn đã là độ dài chuỗi trừ đi số nguyên âm.
    Chuỗi có thể chứa ký tự không phải là mẫu tự chữ.
    cám ơn VTS nhiều!!!

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

  1. Công dụng và cách thứ hoạt động của strlen trong C?
    Gửi bởi 7261819 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: 18-11-2015, 11:25 AM
  2. Cơ chế nhập chuỗi kí tự trong C++ , cơ chế strlen ???
    Gửi bởi kwideur trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 31-03-2013, 08:11 PM
  3. Kỹ thuật C Xử lý nhanh hơn với strlen của string (đố vui)
    Gửi bởi langman trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 25
    Bài viết cuối: 25-07-2012, 12:57 PM
  4. Sử dụng strlen và strcmp như thế nào?
    Gửi bởi DragonKillerngh trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 5
    Bài viết cuối: 14-12-2010, 05:17 PM
  5. ham strlen,strrev,strrchr có tác dụng gì?
    Gửi bởi thanhdieu 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: 11-12-2010, 10:35 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