Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 5 trên tổng số 5 kết quả

Đề tài: Thắc mắc tại sao code chạy mà không đưa ra kết quả nào

  1. #1
    Ngày gia nhập
    05 2016
    Bài viết
    13

    Mặc định Thắc mắc tại sao code chạy mà không đưa ra kết quả nào

    Click vào hình ảnh để lấy hình ảnh lớn

Tên:		123.jpg
Lần xem:	8
Size:		21.8 KB
ID:		47119
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int i = 1;
        float s = 0;
        while (i++ >= 1)
        {
    i++;
            s+=(1/((2*i)-1));
            if (s >= 2.101999)
            {   int j;
                j = i - 1;
                printf("So lon nhat can tim la\n", j);
                break;
            }
        }
    
        return 0;
    }
    theo như code này của mình viết thì nó chậy mà nó chả ra kết quả nào
    đương thắc mắc là bài nầy phải code như nào, anh em chỉ mình với :(
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

  2. #2
    Ngày gia nhập
    01 2013
    Bài viết
    1,479

    Sửa 1/... thành 1.0f/... nhé.

  3. #3
    Ngày gia nhập
    05 2016
    Bài viết
    13

    thanks anh em đã tìm ra cách fixx code
    nhẽ ra là nó phải như này
    Code:
    #include <stdio.h>
    #include <stdlib.h>
    
    int main()
    {
        int i ;
        float s = 0;
        for (i = 1; ; i++)
        {   int j;
            s+= 1.0/((2*i) - 1);
        if (s>= 2.101999){ j = i-1;
                printf("so can tim la %d\n", j);
        break;
        }
    
        }
        printf("tong s la %f \n", s);
    
        return 0;
    }

  4. #4
    Ngày gia nhập
    01 2013
    Bài viết
    1,479

    Thực ra code ntn còn hơi lủng củng

  5. #5
    Ngày gia nhập
    01 2013
    Nơi ở
    Học viện Kỹ thuật Quân Sự
    Bài viết
    247

    Sửa theo cách của prog10 là đúng rồi và code của chủ thread cũng đúng là hơi lủng củng.
    vòng lặp while nên kiểm tra điều kiện s < 2.101999 hoặc abs(s-2.101999) < epsilon nào đó. Chứ không nên để lặp như vậy rồi bên trong dùng if + break
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Nếu cần giúp đỡ, hỗ trợ:
    Bài Tập. Đồ Án. Tools. Phần mềm. Liên hệ:
    Facebook: http://www.facebook.com/thuecodedoan
    Website: https://thuecodedoan.wordpress.com
    Email: thuecodedoan@gmail.com
    Sđt: 094.76.76.854

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