Đảo ngược số nguyên dương nhập từ tập tin

cho em hỏi cách viết bằng con trỏ với ạ.

int reverse (char * path) {
    // complete the function
    int result = 0;
    while (*path > 0)
    {
        int tmp = *path % 10;
        result = (result * 10) + tmp;
        *path /= 10;
    }

    return result;
}

em có viết như này nhưng chưa ra ạ.

Bạn đọc kĩ đề đi!

Tên tham số cũng có nghĩa đấy path = đường dẫn (của tập tin).
Đọc giá trị từ tập tin rồi mới đảo ngược và trả về.

2 Likes

Nếu muốn tối ưu nữa thì thử theo công thức này xem.
Gợi ý tự tìm quy luật thử:

  • 1234 có thể viết dưới dạng:
    1234 = 1*10^3 + 2*10^2 + 3*10^1 + 4
  • Số đảo ngược 4321 có thể viết lại dưới dạng:
    4321 = 4*10^3 + 3*10^2 + 2*10^1 + 1
3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?