Yêu cầu:
– Nhập vào 1 số nguyên
– Đảo ngược các chữ số trong số nguyên đó.
Thuật toán:
– Dùng phép chia hết / và phép chia có dư % để tách từng chữ số ra.
Code:
/************************************************************ * Author: VNCODING * History * 2014/10/05 first create VNCODING *************************************************************/ #include "stdio.h" #include "conio.h" void main() { int n, reverse = 0, rem; printf("Nhap vao so nguyen: "); scanf("%d", &n); while(n > 0) { rem = n % 10; reverse = reverse*10 + rem; n /= 10; } printf("So dao nguoc = %d", reverse); getch(); }
Kết quả:
Nhap vao so nguyen: 123045 So dao nguoc = 540321
Em rất thích trang này mong sẽ học tốt hơn khi đã tham gia
Em rất thích Trang mạng này mong sẽ học tốt hơn khi đã tham gia
Vậy biến n co bị thay đổi kh ạ?
Hi Sinh Trần,
>Vậy biến n co bị thay đổi kh ạ?
Tất nhiên là biến n có thay đổi giá trị
Cách này có một lỗi là nếu nhâp 042 , thì sẽ ra 24 , hay 420 , thì nó cũng ra 24 , có cách nào khắc phục không Ad ?
@MenD, bạn dùng mảng char[] để lưu chuỗi số nhập vào, và thực hiện đổi đảo vị trí nhé.