Viết hàm tính số lớn nhất trong 2 số

int so_lon_nhat (int a,int b);
int main()
{
    printf("%d\n",so_lon_nhat (2,6));
    getchar();

    return 0;
}
int so_lon_nhat(int a,int b)
{
    if (a > b)
        printf("%d\n",a);
    else if (a < b)
        printf("%d\n",b);
    else
        printf("2 so nay bang nhau\n");

    return 0;
}

Code trên mình đã thử và chạy oke tức là hiển thị được số lớn hơn trong 2 số (6 > 2 nên hiển thị số 6) .Tuy nhiên ngoài hiển thị số 6 còn hiển thị số 0 do lệnh return mình trả về 0.Có bạn nào giúp mình để chương trình ko hiện số 0 nữa không.Thank

Bài này code như thế này là được rồi:

int so_lon_nhat (int a, int b);

int main()
{
    printf("%d\n",so_lon_nhat (2,6));

    getchar();
    return 0;
}

int so_lon_nhat(int a, int b)
{
    if (a > b)
        return a;

    return b;
}

Không cần phải in ra text trong hàm so_lon_nhat đâu. Hàm so_lon_nhat chỉ nên return giá trị lớn nhất mà thôi. Mỗi hàm làm một việc cho dễ quản lý.

P/S: Cho những ai thích code ngắn :expressionless:

int so_lon_nhat(int a, int b)
{
    return a > b ? a : b;
}
2 Likes

thank anh .Em còn một bài về viết hàm kiểm tra số nguyên tố nữa.Đang loay hoay đây a ^^

Nếu em thấy câu trả lời của anh đúng thì em bấm vào trên trả lời của anh để chọn câu trả lời

Trên forum có nhiều topic về kiểm tra số nguyên tố, em tham khảo trước, nếu còn thắc mắc thì em tạo topic mới để hỏi.

P/S:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?