Hiểu được tâm lý 1 số bạn khi mới bắt đầu học lập trình với ngôn ngữ C, các bạn có thể sẽ gặp khó khăn với việc tham khảo code của 1 số bài tập mà các Thầy Cô cho về nhà. Bởi vì mỗi trường, mỗi Thầy Cô sẽ có cách giảng dạy khác nhau nên nhiều bạn khi post code lên mạng để cho người khác tham khảo. Thì những đoạn code như vậy cũng không dễ để hiểu. Sau 1 thời gian nghiên cứu, mình đã tổng hợp được 1 số code tương đối dễ hiểu. Và những đoạn code này đã giúp mình đạt được điểm cao trong kỳ thi hết môn Kỹ thuật lập trình C.
Bài đầu tiên mình muốn gửi đến các bạn là "Nhập vào 1 số lớn hơn 0, kiểm tra xem số đó có phải là số đối xứng hay không(ví dụ: 121 là số đối xứng, 123 không là số đối xứng)".
Ý tưởng: Ở bài này, chúng ta tạo hàm "doixung" để giải quyết vấn đề. Trong hàm này, ta xây dựng chương trình kiểm tra số nhập vào sau khi biển đổi, đảo ngược lại thì có giống số ban đầu hay không, nếu có thì xuất ra thông báo số đối xứng hoặc ngược lại . Đầu tiên ta gọi và gán biến "dao"= 0, gán biến "tam"= số nhập vào. Tiếp theo, ta sử dụng vòng lặp while như sau:
while (tam > 0)
{
dao
= dao*10 + tam%10;
tam
=tam/10;
}
Để hiểu được bài này ta có thể lấy giấy ra và cho chương trình "chạy" thử trên giấy. Ví dụ nhập vào số 134, chương trình gán biến "tam" = 134.
Lần lặp 1: Ta có biến "dao" gán bằng 0 nên "dao"= 0=0*10+ 134%10 = 4 (134 chia 10 = 13,4 vì % là chia lấy dư nên lấy số 4). tam= 134/ 10 = 13 (vì / là phép chia lấy phần nguyên nên lấy số 13.
Lần lặp 2: "dao"= 4*10 + 13%10= 43
"tam"= 13/10 = 1
Lần lặp 3: "dao" = 43*10 + 1%10 =431
"tam"= 1/10= 0
Lúc này, vòng lặp dừng vì "tam"= 0 và ta cũng có được kết luận 134 không là số đối xứng vì biến "dao"= 431# 134.
Đây là code của toàn bộ bài:
#include<stdio.h>
#include<conio.h>
#include<string.h>
void doixung(int a);
void main()
{
clrscr();
int b;
doixung(b);
getch();
}
void doixung(int a)
{
printf("\nNhap vao so can kiem chung: ");
scanf("%d",&a);
int dao = 0;
int tam = a;
while (tam > 0)
{
dao = dao*10 + tam%10;
tam =tam/10;
}
if(dao==a)
printf("day la so doi xung");
else
printf("day khong phai so doi xung");
}
Bài đầu tiên đã kết thúc, cảm ơn các bạn đã xem. Hy vọng nhận được sự đóng góp của các bạn.
Chúc các bạn thành công.
+ nhận xét + 2 nhận xét
ban ơi cho mk fb đc k mình cần ? 1 vài vấn đề sắp thi r
Cảm ơn các bạn đã quan tâm, hiện tại mình đang đi làm nên không có nhiều thời gian trả lời comment. Các bạn có nhu cầu vui lòng liên hệ fb mình ở đây nhé: https://www.facebook.com/hao.pham.79
Đăng nhận xét