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

Đề tài: Chưa xóa hết đc dấu cách trong xâu

  1. #1
    Ngày gia nhập
    10 2011
    Bài viết
    1

    Mặc định Chưa xóa hết đc dấu cách trong xâu

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. #include <string.h>
    4. #include<ctype.h>
    5. main()
    6. {  
    7.     char chuoi[50];
    8.     int i=0;
    9.         printf("Nhap vao chuoi ki tu in hoa :");
    10.         gets(chuoi);
    11.         strlwr(chuoi);  
    12.         chuoi[0]=toupper(chuoi[0]);//Viet hoa chu cai dau tien
    13.         for( i=0;i<strlen(chuoi);i++)
    14.         {
    15.         if(chuoi[i]==' '&&chuoi[i+1]!=' ')
    16.         chuoi[i+1]=toupper(chuoi[i+1]);//viet hoa chu cai dau moi tu
    17.         }
    18.         for( i=0;i<strlen(chuoi);i++)
    19.         {
    20.         while (chuoi[0]==' ') strcpy(chuoi,&chuoi[1]);//xoa dau cach dau
    21.         while (chuoi[strlen(chuoi)-1]==' ') chuoi[strlen(chuoi)-1]='\0';//Xoa dau cach cuoi
    22.        
    23.         while(chuoi[i]==' '&&chuoi[i+1]==' ')
    24.         strcpy(&chuoi[i],&chuoi[i+1]);//gop dau cach
    25.         }
    26.         for( i=0;i<strlen(chuoi);i++)
    27.         {
    28.         if(chuoi[i]>=65||chuoi[i]<33)//Tach so ra khoi ki tu
    29.             printf("%c",chuoi[i]);
    30.         }
    31.        
    32.         getch();
    33. }

    khi em nhap xau : giang92 92 hoc lop cnt52dh3
    thỳ chuong trinh cho ket qua giang<2 dấu cách>hoc lop cnt52dh3
    lí do ở đây em chỉ cho in các kí tự ko phải là số .nhưng giữa 92 92 và 92 hoc đều là dấu cách .nếu bỏ số đi sẽ còn 2 dấu cách liền nhau .Mong các cao nhân giúp em vụ này vs ak .
    Xóa triệt để chỉ còn để lại còn 1 dấu cách giữa mỗi từ

  2. #2
    Ngày gia nhập
    10 2011
    Bài viết
    552

    À Thế này nhé
    Bạn nên tách 3 việc xóa khoảng cách đầu, giữa và cuối ra thì sẽ đơn giản hơn.

    Việc xóa dấu cách ở giữa khá phiền ở chỗ: Bạn xóa xong rồi, thì khoan hãy tăng i lên, bởi vì sau khi xóa xong, biết đâu "cái thằng vừa nhảy vào" lại chính là dấu cách
    ^^ thế nhé
    Um Mani Padme Hum...!!

  3. #3
    Ngày gia nhập
    10 2011
    Bài viết
    1

    Trích dẫn Nguyên bản được gửi bởi clchicken Xem bài viết
    À Thế này nhé
    Bạn nên tách 3 việc xóa khoảng cách đầu, giữa và cuối ra thì sẽ đơn giản hơn.

    Việc xóa dấu cách ở giữa khá phiền ở chỗ: Bạn xóa xong rồi, thì khoan hãy tăng i lên, bởi vì sau khi xóa xong, biết đâu "cái thằng vừa nhảy vào" lại chính là dấu cách
    ^^ thế nhé
    ý em ở đây là khi mà ta chỉ cho in các kí tự ko phải là số thỳ nếu kí tự là v:
    Code:
    180 999 abc
    nó sẽ xóa 180 và 999 chỉ in ra màn hình 2 dấu cách liền nhau và abc.
    em muốn hỏi là làm thế nào để xóa hoàn toàn đc mà khi in ra chỉ abc
    p/S: em muốn gộp các kí tự thỏa mãn đk
    C Code:
    1. for( i=0;i<strlen(chuoi);i++)
    2.         {
    3.         if(chuoi[i]>=65||chuoi[i]<33)//Tach so ra khoi ki tu
    4.       nhập vào mảng mới
    5.         }
    vào 1 mảng mới thỳ làm sao hả các bác
    Đã được chỉnh sửa lần cuối bởi giang92 : 17-12-2011 lúc 05:58 PM.

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

  1. Không thể xóa file trong IsolatedStorageFile, cách nào để xóa?
    Gửi bởi mrdungx trong diễn đàn Lập trình Windows Mobile bằng C#
    Trả lời: 0
    Bài viết cuối: 04-04-2013, 11:25 PM
  2. ADO.NET Xóa dữ liệu trong gridview nhưng không được xóa trong database như thế nào ?
    Gửi bởi phuocxao21 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 26-11-2012, 10:41 AM
  3. Kỹ thuật C++0x Xóa không được 1 phần tử bất kì và xóa tại vị trí bất kì trong DSLK
    Gửi bởi datinh_o0o7 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: 19-03-2011, 10:24 PM
  4. Bài tập C++ xóa sinh viên trong dssv , ai test dùm em , xóa sv thứ 3 mà nó toàn xóa sv thứ 4
    Gửi bởi prt_awm trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 2
    Bài viết cuối: 08-11-2010, 02:24 PM
  5. Tại sao chọn xóa n lại xóa tại n + 1 - Linked List trong lập trình C
    Gửi bởi dieucay555 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: 03-03-2008, 11:43 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