yêu cầu là sắp xếp thứ tự tăng dần code e làm như dưới và kết quả ko chính xác. E đã nghĩ khá lâu và chưa rõ sai ở đâu và như nào xin cao nhân chỉ giáo
Sắp xếp thứ tự bị sai
bạn thử in ra a b c d và temp mỗi lần hoán đổi để xem quá trình nha
Cái này là tội lười dùng { }
này.
Sao không dùng bubble sort ? Tối ưu hơn tất nhiên phải dùng cái khác nhưng bubble sort là đơn giản nhất đấy.
tui đang học code ở mức cơ bản nhất
T có thử { }
vào các lệnh sau mỗi if rồi kết quả ko khác
Đừng phá vỡ sự trong trắng =))
Bần đạo ngu muội xin đạo hữu cho bần đạo biết thêm {}
vào mỗi if
như thế nào mà không bị lỗi nhỉ.
Bần đạo cũng lại xin bêu xấu trước mặt đạo hữu đây phương pháp mà bần đạo thêm {}
.
#include <stdio.h>
int main() {
int a, b, c, d, tmp;
scanf("%d %d %d %d", &a, &b, &c, &d);
if (a > b) {
tmp = a;
a = b;
b = tmp;
}
if (a > c) {
tmp = a;
a = c;
c = tmp;
}
if (a > d) {
tmp = a;
a = d;
d = tmp;
}
if (b > c) {
tmp = b;
b = c;
c = tmp;
}
if (b > d) {
tmp = b;
b = d;
d = tmp;
}
if (c > d) {
tmp = c;
c = d;
d = tmp;
}
printf("%d -> %d -> %d -> %d\n", a, b, c, d);
}
3 -> 5 -> 6 -> 16
Cảm phiền đạo hữu chỉ điểm nếu bần đạo có gì không đúng.
Hồi sưa trên trường mình cũng “trong trắng”, cũng làm kiểu như trên và kết quả là case này đúng nhưng nhập case khác thì lại sai , gặp case sai lại chỉnh lại, mấy đứa cùng lớp cũng tương tự vậy. Về nhà lên mạng thì mới biết cách để giải bài trên là dùng thuật toán sắp xếp, trong số đó cái cơ bản và đơn giản nhất là bubble sort. Thay vì dùng if cho mấy chục case khác nhau thì chỉ cần dùng hai vòng lặp for lồng nhau và một vòng lặp if là xong. Quá đơn giản, cảm thấy mình ngu vl khi ở trên trường nữa tiếng đồng hồ mà không xong trong khi cách giải đơn giản nhất viết còn chưa tới 3 phút
.
P/s: Gợi ý: Dùng 2 vòng lặp for lồng nhau, 1 if để đổi vị trí của của hai phần tử liền kề để đẩy phần tử lớn nhất (hoặc bé nhất) vào cuối mảng, lớn thứ hai (hoặc bé thứ 2) vào vị trí gần cuối,…
À mà cách này không dùng được nếu chưa biết về mảng =]]
quan trọng là gợi ý bạn ấy tự sửa và tự hiểu thôi, chứ ai mà chẳng có một thời như thế
Đạo hữu coi lại giúp t xem tui edit lại post rùi. Bần đạo lại như vậy mà run vẫn ra như cũ mời đạo huynh chỉ giáo thêm
chụp hình code để người khác phải tự type lại đúng là một tội ác ngang với Hitler
Bần đạo cũng lại hóng cái như cũ của đạo hữu nó là như thế nào, chứ… trong hình làm gì có kết quả mà như cũ được.
Ngoài ra thì đây là kết quả chạy thử của bần đạo, cảm phiền đạo hữu coi qua.
Hà Mã huynh đệ code này trình gà nhất thôi mà đâu đến mức hoa mắt. Huynh đệ có gì chỉ giáo ko nà
Bần đạo sơ ý quá cũng đã sửa lại rùi. GIữa đạo huynh và ta tuy bố cục có chút khác nhau nhưng nội dung ko đổi sao ta chạy ko ra. Hay là còn chỗ nào ta chưa thể tham thấu.
Có dấu *
ở đây thì bần đạo cũng lại mạo muội xin đoán đạo hữu… chưa có lưu file.
Thế này thì đạo hữu chưa complie mới đúng vì DEV C/C++ complie là tự lưu file mà. Chắc chỉ bấm run(F10 thì phải)
Vị đạo huynh ta chân thành cảm ơn huynh, ta đã quá ngu muội khi không comp lại sau khi sửa code. Hành động tuy nhỏ nhưng để lại hậu quả lớn điều này do ta chưa hiểu biết. GIờ ta đã nắm được nhất định ko mắc lại. Bần đạo vô cùng cảm kích sự nhiệt tình của đạo huynh!!!