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

Đề tài: Giải đáp thắc mắc bài tập C.

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

    Mặc định Giải đáp thắc mắc bài tập C.

    Chào các bác, e mới mày mò học C.
    Đề bài như sau:


    Máy tính chọn 1 số ngẫu nhiên, sau đó người dùng sẽ nhập từ bàn phím vào 1 số bất kỳ, máy tính sẽ so sánh, nếu số nhập vào lớn hơn hoặc nhỏ hơn sẽ yêu cầu người chơi nhập lại số khác cho đến khi số nhập vào bằng với số ngẫu nhiên. E đã viết ra chương trính, sau đây là code.


    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h> //them thu vien time
    #include <math.h> //them thu vien toan
    int main(int argc, char *argv[])
    {
    int sobm, soht; //khai bao bien
    const long max = 1986, min = 25; //khai bao hang
    //tao so bi mat
    srand(time(NULL));
    sobm = (rand()%(max-min+15)+min*min);
    /* thuc hien tim so
    sau do so sanh */
    do
    {
    printf("Nhap so:");
    scanf("%d",&soht);
    if(soht > sobm)
    printf("Lon hon roi. Nhap lai so khac.\n");
    else if(soht < sobm)
    printf("Nho hon roi. Nhap so khac.\n");
    else
    printf("Chuc mung ban da tim dc so bi mat!\n");
    }
    while(soht!=sobm);
    system("pause");
    return 0;
    }




    1.
    Giờ mình muốn tạo ra bộ đếm để đếm số lần nhập vào cho đến khi chọn tìm ra được số bí mật của máy tính (ví dụ: mình nhập vào đến lần thứ 5 thì bằng với số ngẫu nhiên->sẽ có thêm dòng: bạn đã tìm ra số ngẫu nhiên ở lần nhập thứ 5.

    2.
    Khi tìm ra được số ngẫu nhiên kia, kết thúc chương trình, chương trình sẽ hỏi người chơi có muốn chơi lại k? Mình muốn nếu người chơi có muốn chơi tiếp sẽ lặp lại toàn bộ.

    Nhờ các cao thủ chỉ giáo giúp mình với, help me plz


    - - - Nội dung đã được cập nhật ngày 02-03-2018 lúc 08:28 AM - - -

    364 lượt xem mà k ai giúp m với ah?
    Các pro plz help!

    - - - Nội dung đã được cập nhật ngày 02-03-2018 lúc 08:28 AM - - -

    Đẩy lên nhờ các pro giúp đỡ.

  2. #2
    Ngày gia nhập
    02 2016
    Bài viết
    284

    Trích dẫn Nguyên bản được gửi bởi MrNguyenND Xem bài viết
    [B]Chào các bác, e mới mày mò học C.
    ...

    Nhờ các cao thủ chỉ giáo giúp mình với, help me plz [/I]

    - - - Nội dung đã được cập nhật ngày 02-03-2018 lúc 08:28 AM - - -

    364 lượt xem mà k ai giúp m với ah?
    Các pro plz help!

    - - - Nội dung đã được cập nhật ngày 02-03-2018 lúc 08:28 AM - - -

    Đẩy lên nhờ các pro giúp đỡ.
    Bạn mới mày mò học C, còn tôi thì mới mày mò học tiếng ngoại cho nên đọc mấy câu trên hổng hiểu bạn muốn gì.

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

    Trích dẫn Nguyên bản được gửi bởi NguNhuheo Xem bài viết
    Bạn mới mày mò học C, còn tôi thì mới mày mò học tiếng ngoại cho nên đọc mấy câu trên hổng hiểu bạn muốn gì.
    Bro lại đùa rồi, có chỗ nào k hiểu nhỉ?

  4. #4
    Ngày gia nhập
    08 2017
    Bài viết
    1,360

    mày mò chi sớm, sáng tạo chi sớm!

    1 - các header (*.h) đưa chi cho lắm, tham số cho hàm main có dùng không: đưa vào làm chi, bỏ đi. bỏ bớt được không
    2 - muốn đếm thì đếm, mỗi lần nhập tăng biến đếm lên stt++;
    3 - khoảng min ÷ max là từ đâu đến đâu (tìm nhị phân thì không quá 11 lần đoán (2^11=2048) sẽ tìm được số bí mật thôi)

  5. #5
    Ngày gia nhập
    02 2014
    Nơi ở
    TP.HCM
    Bài viết
    843

    tìm nhị phân thì không quá 11 lần đoán (2^11=2048) sẽ tìm được số bí mật thôi
    Câu này không chính xác rồi, nếu số nhập vào lớn hơn hoặc nhỏ hơn sẽ yêu cầu người chơi nhập lại số khác cho đến khi số nhập vào bằng với số ngẫu nhiên, có nghĩa là máy chỉ báo là không đúng thôi chứ không báo là lớn hơn hay nhỏ hơn.

  6. #6
    Ngày gia nhập
    08 2017
    Bài viết
    1,360

    Mặc định Giải đáp thắc mắc bài tập C.

    Trích dẫn Nguyên bản được gửi bởi MHoang Xem bài viết
    tìm nhị phân thì không quá 11 lần đoán (2^11=2048) sẽ tìm được số bí mật thôi
    Câu này không chính xác rồi, nếu số nhập vào lớn hơn hoặc nhỏ hơn sẽ yêu cầu người chơi nhập lại số khác cho đến khi số nhập vào bằng với số ngẫu nhiên, có nghĩa là máy chỉ báo là không đúng thôi chứ không báo là lớn hơn hay nhỏ hơn.
    C Code:
    1. ...
    2. int stt = 0; //đếm số lần đoán - nhập số
    3. do{
    4.     printf("Nhap so:");
    5.     scanf("%d",&soht); stt++;
    6.    
    7.     if(soht > sobm) // lớn hơn
    8.         printf("Lon hon roi. Nhap lai so khac.\n");
    9.     else if(soht < sobm) // nhỏ hơn
    10.         printf("Nho hon roi. Nhap so khac.\n");
    11.     else // bằng
    12.         printf("Chuc mung ban da tim dc so bi mat, sau %d lan nhap!\n", stt);
    13. }
    14. while(soht!=sobm);
    15. ...

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

    Trích dẫn Nguyên bản được gửi bởi Monre Xem bài viết
    mày mò chi sớm, sáng tạo chi sớm!

    1 - các header (*.h) đưa chi cho lắm, tham số cho hàm main có dùng không: đưa vào làm chi, bỏ đi. bỏ bớt được không
    2 - muốn đếm thì đếm, mỗi lần nhập tăng biến đếm lên stt++;
    3 - khoảng min ÷ max là từ đâu đến đâu (tìm nhị phân thì không quá 11 lần đoán (2^11=2048) sẽ tìm được số bí mật thôi)
    hehe, tks bác đã khai sáng. Tham số function main thì tài liệu e đọc khuyên là nên viết theo thế này nên mới thế, e là dân ngoại đạo đang muốn nhập môn thôi.
    1. E đang mày mò nên có là đưa hết vào thôi bác
    3. Khoảng min - max là mình tự cho vào thôi
    2. tks bác 1 lần nữa.

    - - - Nội dung đã được cập nhật ngày 03-03-2018 lúc 02:31 AM - - -

    Trích dẫn Nguyên bản được gửi bởi MHoang Xem bài viết
    tìm nhị phân thì không quá 11 lần đoán (2^11=2048) sẽ tìm được số bí mật thôi
    Câu này không chính xác rồi, nếu số nhập vào lớn hơn hoặc nhỏ hơn sẽ yêu cầu người chơi nhập lại số khác cho đến khi số nhập vào bằng với số ngẫu nhiên, có nghĩa là máy chỉ báo là không đúng thôi chứ không báo là lớn hơn hay nhỏ hơn.
    Máy có báo số nhập vào lớn hơn hay nhỏ hơn thôi mod ơi.

  8. #8
    Ngày gia nhập
    08 2017
    Bài viết
    1,360

    Ngoại đạo hay cải đạo thì quan trọng cái chi!


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