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

    Thay kí tự trong xâu bằng kí tự khác

    Chào các bạn,

    Mình đang bí 1 bài yêu cầu thay kí tự trong xâu bằng kí tự khác.
    VD:
    Nhập xâu: 12211212
    Nhập kí tự cần thay: 1
    Thay kí tự 1 bằng kí tự: 2
    Xâu sau khi thay kí tự: 22222222

    Mình chạy code này thì tắc ở dòng 10, chương trình không nhập tiếp được c, rồi in xâu không đúng mong muốn như trong ví dụ. Mong các bạn sửa giúp. Thanks!

    Mã:
    • #include<stdio.h>#include<conio.h>#include<string.h>int main(){ char a[100], b, c; int i, n; printf(" Nhap xau: "); gets(a); printf(" Nhap ki tu can thay: "); scanf("%c",&b); printf(" Thay ki tu %c bang ki tu: ",b); scanf("%c",&c); n = strlen(a); for (i=0; i<n; i++) if (a[i]==b) a[i]=c; printf(" Xau sau khi thay ki tu: "); puts(a); getch();}
    Nhân tiện, mong các bạn gợi ý cho mình bài này:
    Nhập vào một xâu, in đoạn kí tự bắt đầu từ kí tự "BD" cho den ki tư "KT" trong xâu.
    Ví dụ: Xin chao BD dien dan cong dong C Viet KT => In ra: dien dan cong dong C Viet
    Thanks!

  2. #2
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi prog10
    1. fflush(stdin);
    2. for(char* p=a; *p!=0; ++p) if(*p == ...) ...
    Thanks prog10!
    Cho thêm 1. vào đoạn code đã xử lý được vấn đề.
    Mình chưa hiểu gợi ý 2. của bạn cho bài in ra một đoạn trong xâu. Mong bạn nói rõ hơn. Thanks!

  3. #3
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Trích dẫn Gửi bởi DragonSnake
    Chào các bạn,

    Mình đang bí 1 bài yêu cầu thay kí tự trong xâu bằng kí tự khác.
    VD:
    Nhập xâu: 12211212
    Nhập kí tự cần thay: 1
    Thay kí tự 1 bằng kí tự: 2
    Xâu sau khi thay kí tự: 22222222

    Mình chạy code này thì tắc ở dòng 10, chương trình không nhập tiếp được c, rồi in xâu không đúng mong muốn như trong ví dụ. Mong các bạn sửa giúp. Thanks!

    Mã:
    #include<stdio.h>
    #include<conio.h>
    #include<string.h>
    
    int main()
    {
          char a[100], b, c;
          int i, n;
          printf("
     Nhap xau: "); gets(a);
          printf("
     Nhap ki tu can thay: "); scanf("%c",&b);
          printf("
     Thay ki tu %c bang ki tu: ",b); scanf("%c",&c);
          n = strlen(a);
          for (i=0; i<n; i++)
              if (a[i]==b) a[i]=c;
          printf("
     Xau sau khi thay ki tu: "); puts(a);
          getch();
    }
    Nhân tiện, mong các bạn gợi ý cho mình bài này:
    Nhập vào một xâu, in đoạn kí tự bắt đầu từ kí tự "BD" cho den ki tư "KT" trong xâu.
    Ví dụ: Xin chao BD dien dan cong dong C Viet KT => In ra: dien dan cong dong C Viet
    Thanks!
    1. fflush(stdin);
    2. for(char* p=a; *p!=0; ++p) if(*p == ...) ...

  4. #4
    ^ Cách viết for(i=0; i<strlen(s); ++i) thực chất là dành cho Pascal string, chứ ko phải C-string.
    Vì strlen(s) trong C là một vòng lặp, khác với length(s) của Pascal string chỉ là 1 lệnh.

  5. #5
    Ngày tham gia
    Sep 2015
    Bài viết
    0
    Bạn nào gợi ý cho mình bài này nhé. Thanks!

    Nhập vào một xâu, in đoạn kí tự bắt đầu từ kí tự "BD" cho den ki tư "KT" trong xâu.
    Ví dụ: Xin chao BD dien dan cong dong C Viet KT Toi moi hoc lap trinh C
    => In ra: dien dan cong dong C Viet

 

 

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
  •