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

Đề tài: các bác giúp bài C này với!thank các bác nhìu ak.

  1. #1
    Ngày gia nhập
    01 2012
    Bài viết
    0

    Mặc định các bác giúp bài C này với!thank các bác nhìu ak.

    Nhập vào một xâu ký tự, kiểm tra xâu ký tự nhập vào có phải là xâu chuẩn hay không?
    Xâu chuẩn là xâu có các từ cách nhau bởi 1 dấu cách, xâu bắt đầu và kết thúc là ký tự chứ không phải dấu cách.

  2. #2
    Ngày gia nhập
    11 2010
    Nơi ở
    hell
    Bài viết
    165

    kiểm tra kí tự đầu pải là kí tự ko.
    giữa các từ có 2 khoảng trắng ko.
    ở cuối có khoảng trắng ko.pn code rùi mọi ng giúp đỡ thêm
    HT117-5277

  3. #3
    Ngày gia nhập
    10 2011
    Nơi ở
    ha noi
    Bài viết
    12

    đây là bài của mình cậu tham khảo qua nhé!
    Code:
    #include<stdio.h>
    #include<string.h>
    #include<ctype.h>
    int main()
    {
        char s[1000];
        int i=0,j=0;
        printf("nhap xau:");gets(s);
        /***********************************///xoa dau cach dau!
        while(s[i]==' ') 
        {
             strncpy(s+i,s+i+1,strlen(s)-i);   
        }
        /***********************************///xoa dau cach cuoi
        i=strlen(s)-1;
        while(s[i]==' ') i--;
        s[i+1]='\0';
        
        /**********************************/
        //xoa khoang trong giua!
        for(i=0;i<strlen(s);i++)
        {
              if(s[i]==' ') 
              while(s[i+1]==' ')//coi nhu xoa khoang trong  2 dau!hi
              strcpy(s+i,s+i+1);
        }
        /***********************************///dat dau cach sau dau '.'
        /*i=0;
        while (s[i]=='.' && s[i+1]!=' ')
        i++;
        for(j=strlen(s);j>i;j--)
    		s[j] = s[j-1] ;
    	s[i]=' ';*/
        /**********************************///sau dau '.' hoac ',' la dau cach!
        for(i=0;i<strlen(s);i++)//cho i quet toan bo xau
        if((s[i]=='.' || s[i]==',') && s[i+1]!=' ')//tim dau '.'
        {
             for(j=strlen(s);j>i+1;j--)//cho bien j chay tu cuoi xau ve!den vi tri' i+1 de luu tat ca cac ky tu tu i+1 vao bo lai trong vi tri i+1; 
             s[j]=s[j-1];//gan s[i+2]=s[i+1]
             s[i+1]=' ';//
        }  
        /***********************************///trc dau ',' ko co ky tu trang
        for(i=0;i<strlen(s);i++)
        {
             if(s[i]==',' || s[i]=='.' && s[i-1]==' ') strncpy(s+i-1,s+i,strlen(s)-i-1);//copy strlen(s)-1-i ky tu,tu vi tri i vao xau s tu vi tri i-1
        }
        /**********************************///viet hoa sau dau '.'
        for(i=0;i<strlen(s);i++)
        {
               if(s[i]=='.') s[i+2]=toupper(s[i+2]);
        }
        s[0]=toupper(s[0]);
        printf("xau  xoa:");
        puts(s);
        
        system("pause");
        return 0;
    }
    Delete Quá Khứ, Reset Hiện tại, Download Tương Lai, Update Cuộc Sống...

  4. #4
    Ngày gia nhập
    01 2012
    Bài viết
    0

    @mr.cuong_tq : đây là sửa lỗi thế còn in ra là nhập xâu chuẩn hay không thì làm ntn?
    ví dụ: 1;nhập xâu: 'xau chuan'
    kết quả là 'xau dung'
    2; nhập xâu: ' xau sai '
    kết quả là 'xau sai'

  5. #5
    Ngày gia nhập
    10 2011
    Nơi ở
    ha noi
    Bài viết
    12

    Trích dẫn Nguyên bản được gửi bởi yourfanclub Xem bài viết
    @mr.cuong_tq : đây là sửa lỗi thế còn in ra là nhập xâu chuẩn hay không thì làm ntn?
    ví dụ: 1;nhập xâu: 'xau chuan'
    kết quả là 'xau dung'
    2; nhập xâu: ' xau sai '
    kết quả là 'xau sai'
    uhm!để mình xem thêm nha!
    đọc chưa kỹ đề rùi!
    ah!se dùng một lệnh if( .....|| || ||..) để quết các trường hợp!
    nghĩ thế đã!
    giờ đi nạp nănng lượng!!!!!!!
    Delete Quá Khứ, Reset Hiện tại, Download Tương Lai, Update Cuộc Sống...

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

    Mặc định các bác giúp bài C này với!thank các bác nhìu ak.

    Đề bài chỉ hỏi kiểm soát xấu chuẩn chứ có bảo xóa xiếc gì đâu.

    Chỉ cần xét xem có ít nhất hai dấu trắng gần nhau, hoặc dấu trắng đi trước '\0' (cuối chuỗi) là xong.

    C Code:
    1. char s[100];
    2. int dt = 1; // dấu trắng trước đó, khởi là 1 để đọc ký tự đầu tiên.
    3.  
    4. /* code nhập chuỗi ở đây */
    5.  
    6. // đúng ra bài này dùng con trỏ rất nhanh nhưng ở đây tôi dùng chỉ số cho dễ hiểu
    7.  
    8. for (int i=0, kc=strlen(s); i < kc; i++)
    9. {
    10.   if (s[i] == ' ')
    11.   {
    12.     if (dt)   break; // không phải xâu chuẩn;
    13.     dt = 1;
    14.   }
    15.   else  dt = 0;
    16. }
    17. // nếu chạy đến cuối xâu mà dt còn = 0 thì là xâu chuẩn
    18. if (dt)  printf("không phải xâu chuẩn");
    19. else  printf("đây là xâu chuẩn");

  7. #7
    Ngày gia nhập
    01 2012
    Bài viết
    0

    Trích dẫn Nguyên bản được gửi bởi VoTichSu Xem bài viết
    Đề bài chỉ hỏi kiểm soát xấu chuẩn chứ có bảo xóa xiếc gì đâu.

    Chỉ cần xét xem có ít nhất hai dấu trắng gần nhau, hoặc dấu trắng đi trước '\0' (cuối chuỗi) là xong.

    C Code:
    1. char s[100];
    2. int dt = 1; // dấu trắng trước đó, khởi là 1 để đọc ký tự đầu tiên.
    3.  
    4. /* code nhập chuỗi ở đây */
    5.  
    6. // đúng ra bài này dùng con trỏ rất nhanh nhưng ở đây tôi dùng chỉ số cho dễ hiểu
    7.  
    8. for (int i=0, kc=strlen(s); i < kc; i++)
    9. {
    10.   if (s[i] == ' ')
    11.   {
    12.     if (dt)   break; // không phải xâu chuẩn;
    13.     dt = 1;
    14.   }
    15.   else  dt = 0;
    16. }
    17. // nếu chạy đến cuối xâu mà dt còn = 0 thì là xâu chuẩn
    18. if (dt)  printf("không phải xâu chuẩn");
    19. else  printf("đây là xâu chuẩn");
    cảm ơn bạn votichsu nhé!
    mình chạy đc rồi.hi

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

  1. Sự cố Nhờ mod chuyển giúp bài "Sắp xếp số thứ tự ngay trong bảng của 1 database?" từ MySQL sang MSSQL giúp!
    Gửi bởi hu-xeko trong diễn đàn Ý kiến, đề xuất và khiếu nại
    Trả lời: 1
    Bài viết cuối: 12-03-2012, 07:48 PM
  2. Mới nhập môn khó quá , cần trợ giúp [Vấn đề của bạn cần muốn giúp là gì ?]
    Gửi bởi cuingo212 trong diễn đàn Nhập môn lập trình C#, ASP.NET
    Trả lời: 5
    Bài viết cuối: 22-10-2011, 08:43 AM
  3. Chương trình giúp một học sinh cấp 1 học phép nhân, xử lý hàm rand, giúp mình với?
    Gửi bởi chankx trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 12-05-2009, 08:52 PM
  4. Code giúp add một key vào registry, ai giúp em?
    Gửi bởi olavien trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 12-12-2007, 08:45 AM

Tags của đề tài này

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