Trang 1 trên tổng số 3 123 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 28 kết quả

Đề tài: đếm số kí tự trong một chuỗi?

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

    Mặc định đếm số kí tự trong một chuỗi?

    C Code:
    1. #include<stdio.h>
    2. #include<conio.h>
    3. #include<string.h>
    4. #include<ctype.h>
    5. void main()
    6. {
    7.     char str[100],c;
    8.    int count=0;
    9.    printf("Nhap vao mot chuoi:");
    10.    gets(str);
    11.     if(isalpha(c))
    12.    {
    13.     count++;
    14.    }
    15.    printf("Tong so ki tu trong chuoi:%d",count);
    16.    getch();
    17.  
    18. }
    Báo lỗi possible use definition c . Bác nào giúp em
    Đã được chỉnh sửa lần cuối bởi prog10 : 25-07-2017 lúc 10:25 AM.

  2. #2
    Ngày gia nhập
    01 2010
    Nơi ở
    до свидания!
    Bài viết
    1,766

    Trích dẫn Nguyên bản được gửi bởi vucong231987 Xem bài viết
    PHP Code:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<ctype.h>
    void main()
    {
        
    char str[100],c;
       
    int count=0;
       
    printf("Nhap vao mot chuoi:");
       
    gets(str);
        if(
    isalpha(c))
       {
        
    count++;
       }
       
    printf("Tong so ki tu trong chuoi:%d",count);
       
    getch();


    Báo lỗi possible use definition c . Bác nào giúp em
    Thì c là cái gì???? count kia luôn là 0 cho đến khi chương trình kết thúc!....Chẳng liên quan gì đến str và c cả!

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

    PHP Code:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    #include<ctype.h>
    void main()
    {
        
    char str[100];
       
    int count=0;
       
    int i=0;
       
    printf("Nhap vao mot chuoi:");
       
    scanf("%s",str);
        if(
    isalpha(str[i++]))
       {
        
    count++;

       }
          
    printf("Tong so ki tu trong chuoi:%d",count);
       
    getch();


    Mình sửa lại: ở trên tức là mình khai báo 1 biến c để kiểm tra xem trong str có kí tự đi từ a-z
    code này ban giúp mình đc k

  4. #4
    Ngày gia nhập
    01 2010
    Nơi ở
    до свидания!
    Bài viết
    1,766

    Không sử dụng hàm strlen của thư viện string.h à? (Do cậu include string.h vào rồi thì tại sao không dùng hàm này). Còn nếu muốn viết lại hàm strlen này thì làm như sau (nếu không muốn dùng đến string.h):
    Cách 1:
    PHP Code:
    int strlen(char s[])

    {   
       
        
    int x;
       
        
    x=0;   
       
        while (
    s[x] != '\0')
          
          
    x=x+1;   
       
        return(
    x);
       

    - Cách 2:
    PHP Code:
    int strlen(char *s)

    {   
       
        
    int x=0;
       
        while (*
    != '\0')   
          
        {     
          
            
    x++;     
          
            
    s++;   
          
        }   
       
        return(
    x);
       

    - Cách 3: (Viết gọn lại)
    PHP Code:
    int strlen(char *s)

    {   
       
        
    int x=0;
       
        while (*
    s++)     
          
            
    x++;   
       
        return(
    x);
       


  5. #5
    Ngày gia nhập
    01 2010
    Nơi ở
    до свидания!
    Bài viết
    1,766

    Và cậu có thể viết lại code trên của cậu như sau:
    PHP Code:
    #include<stdio.h>
    #include<conio.h>
    void main()
    {
        
    char str[100];
        
    int x=0;
        
    printf("Nhap vao mot chuoi:");
        
    scanf("%s",str);
        while (
    str[x] != '\0')
            
    x=x+1;
        
    printf("Tong so ki tu trong chuoi:%d",x);
        
    getch();

    Bỏ hết mấy cái ctype.h và string.h đi....

  6. #6
    Ngày gia nhập
    07 2010
    Bài viết
    17

    Mặc định đếm số kí tự trong một chuỗi?

    Cậu k kiểm tra các kí tự từ a-z. Nếu viết như vậy liệu nó có hiểu k?

  7. #7
    Ngày gia nhập
    07 2010
    Bài viết
    17

    Trích dẫn Nguyên bản được gửi bởi peterdrew Xem bài viết
    Và cậu có thể viết lại code trên của cậu như sau:
    PHP Code:
    #include<stdio.h>
    #include<conio.h>
    void main()
    {
        
    char str[100];
        
    int x=0;
        
    printf("Nhap vao mot chuoi:");
        
    scanf("%s",str);
        while (
    str[x] != '\0')
            
    x=x+1;
        
    printf("Tong so ki tu trong chuoi:%d",x);
        
    getch();

    Bỏ hết mấy cái ctype.h và string.h đi....
    Cho mình hỏi, ở đây bạn k kiểm tra kí tự từ a-z hả? chỉ kiểm tra cái chuỗi có NULL k .Nếu có khoảng trắng nó sẽ k đếm nữa. như vậy hình như bài toán k đc đúng thì phải. nghĩa là nó vấn đếm khoảng trắng và kí tự luôn or là nếu có khoảng trắng nó sẽ loại ra và tiếp tục đếm kí tự

  8. #8
    Ngày gia nhập
    01 2010
    Nơi ở
    до свидания!
    Bài viết
    1,766

    Trích dẫn Nguyên bản được gửi bởi vucong231987 Xem bài viết
    Cho mình hỏi, ở đây bạn k kiểm tra kí tự từ a-z hả? chỉ kiểm tra cái chuỗi có NULL k .Nếu có khoảng trắng nó sẽ k đếm nữa. như vậy hình như bài toán k đc đúng thì phải. nghĩa là nó vấn đếm khoảng trắng và kí tự luôn or là nếu có khoảng trắng nó sẽ loại ra và tiếp tục đếm kí tự
    Đó là do cậu dùng scanf để nhập xâu, nên nó coi space là kết thúc nhập của scanf. Giải pháp là cậu dùng gets() để thay thế scanf.
    Đây là code:
    PHP Code:
    #include<stdio.h>
    #include<conio.h>
    void main()
    {
        
    char *str;
        
    int x=0;
        
    str=new char[50];
        
    printf("Nhap vao mot chuoi:");
        
    gets(str);
        while (
    str[x] != '\0')
            
    x=x+1;
        
    printf("Tong so ki tu trong chuoi:%d",x);
        
    delete str;
        
    getch();


  9. #9
    Ngày gia nhập
    05 2010
    Nơi ở
    Cách Mạng Tháng 8
    Bài viết
    205


    Có phải cậu muốn cái này
    C Code:
    1. #include<stdio.h>
    2. #include<stdlib.h>
    3. #include<ctype.h>
    4. void main()
    5. {
    6.     char str[100] ;
    7.    int count=0 ;
    8.    char *p = str - 1 ;
    9.  
    10.    system ("cls") ;
    11.    printf("\nEnter a string:") ;
    12.    scanf ("%[^\n]", str) ;
    13.    while (*++p)          // chuỗi cũng là mảng 1 chiều, nên nhớ dùng vòng lặp nhé
    14.        if(isalpha(*p))
    15.           count++;
    16.    printf("\nThe number of alphabetic character: %d\n",count);
    17.    system ("pause") ;
    18.  
    19. }
    Nothing last forever !!

  10. #10
    Ngày gia nhập
    01 2010
    Nơi ở
    до свидания!
    Bài viết
    1,766

    Tức là yêu cầu chỉ đếm các ký tự trong bảng chữ cái thôi à??? Không tính khoảng trắng???? Nhưng yêu cầu Peter đọc thấy là tìm số ký tự trong chuỗi cơ mà???
    Đã được chỉnh sửa lần cuối bởi peterdrew : 30-07-2010 lúc 04:24 PM.

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

  1. Lập trình C Thay thế chuỗi s1 trong chuỗi s bằng chuỗi s
    Gửi bởi duytue trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 7
    Bài viết cuối: 23-09-2011, 04:16 PM
  2. thay thế chuỗi con thứ i trong chuỗi mẹ bằng 1 chuỗi khác
    Gửi bởi nhat1811 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: 06-08-2011, 08:25 AM
  3. Trả lời: 1
    Bài viết cuối: 29-06-2011, 12:02 AM
  4. Trả lời: 7
    Bài viết cuối: 21-03-2011, 09:59 PM
  5. xem một từ trong chuỗi là một chuỗi con, sắp xếp các chuỗi con theo thứ tự tăng dần
    Gửi bởi qpkdct1101 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 0
    Bài viết cuối: 20-01-2011, 08:22 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