Đáp án chuỗi bài tập C Aptech phần 2.

Chương 5 : CẤU TRÚC RẼ NHÁNH CÓ ĐIỀU KIỆN

Bài tập 5.3 – Trang 48

– 5.3.1

Bài 4. Viết chương trình nhập vào số nguyên dương x. in ra thông báo số chẵn hay số lẻ.

int main()
{
     int x;
     printf("nhap vao x : ");
     scanf("%d",&x);
     if (x%2==0)
         printf("x la so chan");
     else
         printf("x la so le");
     return 0;
}

 Bài 5. Viết trương trình nhập vào 4 số nguyên. Tìm và in ra số lớn nhất.

int main()
{
     int a,b,c,d,max1,max2,max;
     printf ("nhap vao 4 so nguyen duong a,b,c,d : \n");
     scanf("%d%d%d%d",&a,&b,&c,&d);
     if (a>b)
         max1=a;
     else
         max1=b;
 
     if (c>d)
        max2=c;
     else
        max2=d;
 
     if (max1>max2)
        max = max1;
     else
        max = max2;
 
     printf("so nguyen duong lon nhat la: %d",max);
 
     return 0;
}

Bài 6. Viết chương trình giải phương trình bậc 2: ax2 + bx + c = 0, với a,b,c nhập vào từ bàn phím.

int main()
{
     float a,b,c,Delta,x1,x2;
     printf("nhap vao 3 bien a,b,c : \n");
     scanf("%d%d%d",&a,&b,&c);
     Delta = (b*b)-(4*a*c);
     if (Delta<0) {
         printf("phuong trinh vo nghiem");
     return 0;
     }

     if (Delta==0)
         x1 = x2 = -b/(2*a);
     else {
         x1=(-b-sqrt(Delta))/(2*a);
         x2=(-b+sqrt(Delta))/(2*a);
     }

     printf("x1=%.2f\n",x1);
     printf("x2=%.2f",x2);

     return 0;
}

Bài 7. Viết chương trình nhập vào giờ, phút, giây (hh:mm:ss). Cộng thêm số giây nhập vào và in ra kết quả dưới dạng hh:mm:ss

int main()
{
     int hh,mm,ss,t;
     printf("nhap vao gio,phut,giay : \n");
     scanf("%d%d%d",&hh,&mm,&ss);
     printf("nhap vao giay cong them : \n");
     scanf("%d",&t);
     if (ss+t<60)
     {
         ss = ss + t;
     }
     else
     {
        ss = (ss+t)-60;
        mm = mm + 1;
     } 

     if (mm >= 60)
     {
       mm = mm - 60;
       hh = hh +1;
     }
     printf("\ngio:phut:giay la: %.2d:%.2d:%.2d",hh,mm,ss);

     return 0;
}

Đáp án chuỗi bài tập C Aptech phần 1

Chương 4 : NHẬP / XUẤT DỮ LIỆU

Bài tập 4.3 – Trang 25

Bài 3 : Viết chương trình đọc và 2 số nguyên và in ra kết quả của phép (+), phép trừ (-), phép
nhân (*), phép chia (/). Nhận xét kết quả chia 2 số nguyên.

int main()
{
     int a,b,c;
     printf("nhap vao so a: ");
     scanf("%d",&a);
     printf("nhap vao so b: ");
     scanf("%d",&b);
     printf("phep cong : %d cong %d = %d\n",a,b,a+b);
     printf("phep tru : %d tru %d = %d\n",a,b,a-b);
     printf("phep nhan : %d nhan %d = %d\n",a,b,a*b);
     printf("phap chia : %d chia %d = %d\n",a,b,a/b);
 
     return 0;
}

Bài 4 : Viết chương trình nhập vào bán kính hình cầu, tính và in ra diện tích, thể tích của
hình cầu đó.
Hướng dẫn: S = 4πR 2 và V = (4/3)πR 3 .

int main()
{
     float r,S,V;
     printf("nhap vao ban kinh r: ");
     scanf("%f",&r);
     S=4*3.14*r*r;
     V=(4/3)*3.14*r*r*r;
     printf("dien tich cua hinh cau la: %.2f. \n",S);
     printf("the tich cua hinh cau la: %.2f. \n",V);
     return 0;
}

bài 5 : Viết chương trình nhập vào một số a bất kỳ và in ra giá trị bình phương (a 2 ), lập
phương (a 3 ) của a và giá trị a 4 . Chú ý : phần này bạn phải thêm #include <math.h> để sử dụng hàm pow !

int main()
{
     double a;
     printf("nhap vao gia tri a: ");
     scanf("%f",&a);
     printf("a^2 = %f\n",pow(a,2));
     printf("a^3 = %f\n",pow(a,3));
     printf("a^4 = %f\n",pow(a,4));
 
     return 0;
}

Bài 6: Viết chương trình đọc từ bàn phím 3 số nguyên biểu diễn ngày, tháng, năm và xuất
ra màn hình dưới dạng “ngay/thang/nam” (chỉ lấy 2 số cuối của năm).

int main()
{
     int ngay,thang,nam;
     printf("nhap vao ngay: ");
     scanf("%d",&ngay);
     printf("nhap vao thang: ");
     scanf("%d",&thang);
     printf("nhap vao nam: ");
     scanf("%d",&nam);
     printf("%.2d/%.2d/%.2d\n",ngay,thang,nam%100);
 
     return 0;
}

Bài 7. Viết chương trình nhập vào số giây từ 0 đến 86399, đổi số giây nhập vào thành dạng
“gio:phut:giay”, mỗi thành phần là một số nguyên có 2 chữ số.

int main()
{
     int giay;
     printf("Nhap vao so giay: ");
     scanf("%d",&giay);
 
     if(giay > 86399) {
         printf("Nhap so nho hon\n");
         return 0;
     }
 
     int gio = giay/3600;
     int phut = giay/60 - gio*60;
     giay = giay - phut*60 - gio*3600;
     printf("%.2d:%.2d:%.2d",gio,phut,giay);
 
     return 0;
}

Làm thế nào để đặt một câu hỏi thông minh ?

Cách đặt một câu hỏi thông minh. (Ý kiến cá nhân + Luợt dịch từ How To Ask Questions The Smart Way – Eric Steven Raymond)

images

I.Mở đầu:
Đạt và nhiều người khác nữa đang hỗ trợ các bạn học sinh, sinh viên đam mê học lập trình. Đạt và những người khác đang tự nguyện giúp đỡ mọi người. Thời gian mỗi người đều có giới hạn, nên Đạt muốn các bạn đang học nên chú tâm đến việc đặt câu hỏi sao cho thông minh nhất, tiết kiệm thời gian cho người trả lời nhất.

II.Trước khi hỏi:
Các bạn thử tìm kiếm câu trả lời trước bằng cách:
1. Thử hỏi google trước: google.com
2. Xem kỹ các videos clip của Đạt trước: www.youtube.com/user/trandatnh
3. Hỏi bạn của mình trước.

Khi các bạn đã đặt câu hỏi, có nghĩa là các bạn đã nghiên cứu nhiều rồi, nhưng không tìm được câu trả lời. Đạt có thể nói tới 99% các câu hỏi các bạn đặt ra ở đây google đã trả lời rồi.

Dành thời gian tìm kiếm trên google trước. Đừng hi vọng là chỉ với một vài từ khóa các bạn đã tìm ra được giải pháp cho vấn đề của mình.

Chuẩn bị nội dung câu hỏi. Hãy chứng minh cho người đọc bạn là một người lịch sự bằng cách cho thấy bạn tôn trọng người đọc.
Thử trả lời các câu hỏi sau:
Bạn đang làm bài tập gì? bạn đang cố làm gì? Source code ở đâu? Lỗi như thế nào? Bạn có thử sửa lỗi chưa, thử như thế nào?

Thử nghĩ xem câu hỏi mình sắp hỏi có phải là một câu hỏi NGU không. Liệu câu hỏi này có đáng hỏi không? Người ta đọc xong có hiểu mình đang nói cái gì không?

Đừng hỏi bài tập, ví dụ: “Giải dùm em bài này – tìm số lớn nhất trong mảng”
Chắc chắn là nếu bạn google sẽ có đáp án. Nhưng Đạt hỏi các bạn cứ đi hỏi, mà chưa thực sự giải bài này, vậy thì các bạn đi học làm gì? Đạt không đi học dùm bạn, nên Đạt cũng không giải bài tập dùm bạn.

Đừng bao giờ nghĩ mình có quyền nhận được câu trả lời. Bạn không trả tiền (và Đạt cũng không nhận tiền) để hỏi.

III.Đặt câu hỏi:
1. Các bạn có thể hỏi qua fb, forum, gmail, skype, nhưng trước hết cũng phải có một cái tiêu đề để người đọc họ hiểu.

Hỏi Ngu:
Cứu em! Code không chạy được.
Pro vào giúp!
Giúp với, em đang rất chán nản rồi.

Đỡ Đỡ:
Chương trình quản lý sinh viên không chạy, cài danh sách liên kết đơn.

Hỏi Khôn:
Chương trình quản lý sinh viên, code bằng C (hay C++), sử dụng danh sách liên kết đơn, lỗi khi thêm sinh viên.

2. Nội dung
Hỏi Ngu:
i) anh xem dùm em code này. Sau đó post 1 đoạn code trên trời vào. => Mình không hiểu code bạn viết cái gì đâu. Thật đấy T_T.
ii) Hoặc post hình chụp màn hình lên, hình thì mờ, cái cần chụp lại ko chụp.
iii) Em làm giống anh sao nó không chạy => Chắc chắn là bạn làm khác mình rồi nên nó mới không chạy. Hãy gửi code cho Đạt xem.

Đỡ Đỡ:
Em có đình kèm code bằng codepad.org.
Trong này em chạy tới dòng X thì bị treo.

Hỏi Khôn:
Em có đình kèm code bằng codepad.org.
Trong này em chạy tới dòng X thì bị treo.
Em cũng google thử thì thấy hình như em bị K, L, M.
Em đã thử làm cách Y, Z nhưng không được.
Em cũng đã hỏi bạn em nhưng cũng không giải quyết được.
Anh cho em lời khuyên.

IV. Kết:
Đạt nhận được nhiều mail và fb chat hoặc skype hoặc tùm lum nguồn, nhưng tới 80% những câu hỏi đó là Đạt không muốn trả lời. Các bạn đừng trở thành 80% đó.

P/S: Đạt đã từng bị chửi khá là khó chịu khi Đạt trả lời: cái này anh không biết.
P/S2: Bó tay luôn.