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

Đề tài: Bài tập nâng cao về hàm scanf và xâu

  1. #1
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    Mặc định Bài tập nâng cao về hàm scanf và xâu

    1. Xây dựng chương trình nhập vào 1 chuỗi dùng hàm scanf (nhập cả dấu cách)
    1.0 điểm

    2. Xây dựng chương trình nhập vào 1 chuỗi giống như câu lệnh copy con trong Dos (nhập cả dấu cách, cả xuống dòng và khi ấn f6 rồi enter thì thoát )
    (toàn bộ dữ liệu nhập vào nằm trong 1 chuỗi)
    3.0 điểm

    3. Xây dựng chương trình nhập vào 1 chuỗi ko có kí tự số
    ví dụ :
    nhập vào abc123 thì : abc vào trong chuỗi , 123 nằm trong stdin
    nhập vào abvsadsad*&^%%123 thì abvsadsad*&\n^%% vào trong chuỗi, 123 còn trong stdin
    nhập vào ab3abc thì ab vào chuỗi 3abc nằm trong stdin
    3.0 điểm


    4.
    a. Xây dựng chương trình nhập vào 1 chuỗi chỉ có chữ cái thường và số 8, dấu cách và dấu * và dấu ^
    b. Xây dựng chương trình nhập vào 1 chuỗi , việc nhập kết thúc khi ấn ^ rồi ấn enter
    2.0 điểm

    5. Xây dựng chương trình nhập vào 1 chuỗi ko có điểm ngừng (dùng scanf) . Nhập mãi mãi ko dừng
    1.0 điểm



    P/S :
    _ thứ 7 máu chaỷ về tim , cả nhà vắng quá cơ
    _xong cái này chắc mọi người sẽ tìm ra câu trả lời tại sao lại dạy học sinh dùng gets để nhập chuỗi chứ ko dạy học sinh dùng scanf để nhập chuỗi.

    Yêu cầu :
    _ dùng chỉ scanf() để input
    _ cho phép dùng getch() để dừng chương trình
    _ nếu dùng các cấu trúc lặp hoặc đệ quy trong câu trên thì chỉ được 1/2 số điểm


    Bài viết này đã lâu rồi nên mình post luôn đáp án


    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3.  
    4.  
    5. void main()
    6. {
    7.     char xau[100];
    8.     //cau 1
    9.     scanf("%[^\n]",xau);
    10.  
    11.     //cau 2
    12.     // xem ở đoạn dưới
    13.  
    14.     //cau 3
    15.     scanf("%[^0-9]",xau);
    16.  
    17.     //cau 4
    18.     scanf("%[a-z8*^ ]",xau);
    19.     scanf("%[^^]",xau);
    20.  
    21.     //cau 5
    22.     scanf("%[]",xau);
    23.     getch();
    24. }
    Đã được chỉnh sửa lần cuối bởi langman : 10-03-2011 lúc 01:18 AM. Lý do: update
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

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

    Ăn 1 điểm câu 1 cái xem; cũng vật vã đấy, vì vừa hôm trước anh giải thích cho một cậu là dùng scanf nhập chuỗi thì phép nhập kết thúc khi gặp space; hôm nay lại gặp cái đề đối ngược hẳn, nhưng mà chú xem cái này xem được không? (Trông hơi loằng ngoằng xíu):
    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. int main()
    4. {
    5.     char string[80];
    6.     puts("Nhap vao mot chuoi gom ca space: ");
    7.     scanf("%[^\t\n]",string);
    8.     puts(string);
    9.     getch();
    10.     return 0;
    11. }

  3. #3
    Ngày gia nhập
    06 2010
    Nơi ở
    Hà Nội
    Bài viết
    114

    anh peter ơi,anh ơi cho em hỏi "%[^\t\n]" co ý nghĩa gì vậy
    sao không là "%s" hả anh?

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

    Trích dẫn Nguyên bản được gửi bởi nguyenthanhhai90vp Xem bài viết
    anh peter ơi,anh ơi cho em hỏi "%[^\t\n]" co ý nghĩa gì vậy
    sao không là "%s" hả anh?
    đọc tất cả ngoại trừ(^) dấu tab(\t) và xuống dòng (\n)

  5. #5
    Ngày gia nhập
    06 2010
    Nơi ở
    Hà Nội
    Bài viết
    114

    những cái đó thì tớ biết rồi
    tớ muốn biết%[^\t\n] kia cơ
    bạn giải thích những cái đó làm gì
    cái đó là cái đơn giản nhất rồi mà người học c phải biết

  6. #6
    Ngày gia nhập
    07 2010
    Nơi ở
    Thư viện
    Bài viết
    123

    Mặc định Bài tập nâng cao về hàm scanf và xâu

    câu 3 nè: không biết có đúng ý của anh Langman .

    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3. void main()
    4. {
    5.     char string[80],std[30];
    6.     puts("Nhap vao mot chuoi: ");
    7.     scanf("%[^0123456789]%[^\t\n]",string,std);
    8.     if(std[0]>='0'&&std[0]<='9')
    9.     {
    10.         puts(string);
    11.         puts(std);
    12.     }
    13.     getch();
    14. }
    "một người chưa bao giờ vấp ngã, chưa bao giờ thất bại, chưa bao giờ phạm phải bất kỳ một sai lầm nào là một người có tương lai vô cùng mờ mịt." - Og Mandino

    Tổng hợp các quyển sách hay Mp3

  7. #7
    Ngày gia nhập
    12 2007
    Bài viết
    3

    Trích dẫn Nguyên bản được gửi bởi nguyenthanhhai90vp Xem bài viết
    những cái đó thì tớ biết rồi
    tớ muốn biết%[^\t\n] kia cơ
    bạn giải thích những cái đó làm gì
    cái đó là cái đơn giản nhất rồi mà người học c phải biết
    Bạn lên mạng tìm mấy tài liệu về Regular expression (biểu thức chính quy) đọc khắc rõ.

  8. #8
    Ngày gia nhập
    10 2009
    Nơi ở
    ThăngLong.delay(1000);
    Bài viết
    313

    5. Xây dựng chương trình nhập vào 1 chuỗi ko có điểm ngừng (dùng scanf) . Nhập mãi mãi ko dừng
    C Code:
    1. // mấy câu trên khó thiệt, nghĩ chẳng ra
    2. #include <stdio.h>
    3. int main()
    4. {
    5.     char ch[100];
    6.     scanf("%[]",ch);   
    7.     return 0;
    8. }
    bị sai rồi, nhưng sao nhấn F6+enter+F6+enter mới end nhỉ
    Đã được chỉnh sửa lần cuối bởi vietduc : 01-08-2010 lúc 09:41 AM.

  9. #9
    Ngày gia nhập
    06 2007
    Nơi ở
    C:\WINDOWS\system32\dllcache\
    Bài viết
    3,007

    Trích dẫn Nguyên bản được gửi bởi langman Xem bài viết
    1. Xây dựng chương trình nhập vào 1 chuỗi dùng hàm scanf (nhập cả dấu cách)
    1.0 điểm

    2. Xây dựng chương trình nhập vào 1 chuỗi giống như câu lệnh copy con trong Dos (nhập cả dấu cách, cả xuống dòng và khi ấn f6 rồi enter thì thoát )
    (toàn bộ dữ liệu nhập vào nằm trong 1 chuỗi)
    3.0 điểm


    3. Xây dựng chương trình nhập vào 1 chuỗi ko có kí tự số
    ví dụ :
    nhập vào abc123 thì : abc vào trong chuỗi , 123 nằm trong stdin
    nhập vào abvsadsad*&^%%123 thì abvsadsad*&\n^%% vào trong chuỗi, 123 còn trong stdin
    nhập vào ab3abc thì ab vào chuỗi 3abc nằm trong stdin
    3.0 điểm


    4.
    a. Xây dựng chương trình nhập vào 1 chuỗi chỉ có chữ cái thường và số 8, dấu cách và dấu * và dấu ^
    b. Xây dựng chương trình nhập vào 1 chuỗi , việc nhập kết thúc khi ấn ^ rồi ấn enter
    2.0 điểm

    5. Xây dựng chương trình nhập vào 1 chuỗi ko có điểm ngừng (dùng scanf) . Nhập mãi mãi ko dừng
    1.0 điểm



    P/S :
    _ thứ 7 máu chaỷ về tim , cả nhà vắng quá cơ
    _xong cái này chắc mọi người sẽ tìm ra câu trả lời tại sao lại dạy học sinh dùng gets để nhập chuỗi chứ ko dạy học sinh dùng scanf để nhập chuỗi.

    Yêu cầu :
    _ dùng chỉ scanf() để input
    _ cho phép dùng getch() để dừng chương trình
    _ nếu dùng các cấu trúc lặp hoặc đệ quy trong câu trên thì chỉ được 1/2 số điểm
    _ tadius ko tiết lộ bí mật bài này

    P/S :
    _ hôm nay thứ 7 máu chảy về tim, cả nhà vắng vẻ quá

    _ xong bài này mọi người sẽ hiểu tại sao mà ở các trường toàn chỉ học sinh dùng gets thay cho scanf......
    ế quá public luôn đáp án


    C Code:
    1. #include <stdio.h>
    2. #include <conio.h>
    3.  
    4.  
    5. void main()
    6. {
    7.     char xau[100];
    8.     //cau 1
    9.     scanf("%[^\n]",xau);
    10.  
    11.     //cau 2
    12.     scanf("%[^\0]",xau);
    13.  
    14.     //cau 3
    15.     scanf("%[^0-9]",xau);
    16.  
    17.     //cau 4
    18.     scanf("%[a-z8*^ ]",xau);
    19.     scanf("%[^^]",xau);
    20.  
    21.     //cau 5
    22.     scanf("%[]",xau);
    23.     getch();
    24. }
    ^_,^

    Facebook : https://www.facebook.com/langmaninternet

    Bùi Tấn Quang

  10. #10
    Ngày gia nhập
    08 2010
    Nơi ở
    Moscow, Russia Federation
    Bài viết
    913

    @langman: Bài này chắc là lâu lắm rồi,
    tớ không thấy sự khác biệt giữa câu 2 và câu 5, dữ liệu đều lưu vào một chuỗi cả thôi?
    Mời các bạn ghé thăm blog cá nhân của tôi

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

  1. Cho hỏi về hàm scanf().
    Gửi bởi black horse trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 20-07-2012, 06:40 PM
  2. 2 lần scanf không được
    Gửi bởi boy_popping trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 21-05-2010, 09:36 AM
  3. Lỗi khi gọi hàm scanf
    Gửi bởi tunghero_vt trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 4
    Bài viết cuối: 13-03-2009, 01:32 PM
  4. Hàm scanf() với gets()
    Gửi bởi sangu trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 3
    Bài viết cuối: 18-11-2008, 09:10 PM
  5. Lỗi của lệnh scanf
    Gửi bởi meocontaplamC trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 10
    Bài viết cuối: 13-02-2008, 11:50 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