Kết quả của chương trình sau là gì include void main int ij for i 1 i 4 i j i printf 3d j

View Full Version : Bài tập giải thuật | Bài tập thuật toán cơ bản


hailoc12

05-08-2006, 01:35 PM

1. Ý TƯỞNG THUẬT TOÁN • Xét 3 hệ số của phương trình trước hết xét a=0 hoặc a khác 0 a. TH1 : a=0 - Ta xét thêm b =0 hay khác 0 . Nếu a=0 mà b=0 thì phương trình không xác định . Nếu b khác 0 thì giải bài toán giống như giải phương trình bậc nhất . b. TH2 : a khác 0 - Ta tính Delta và xét Delta đưa ra nghiệm của pt - Nếu Delta < 0 : Phương trình vô nghiệm - Nếu Delta = 0 : Phương trình có nghiệm kép - Nếu Delta > 0 : Phương trình có hai nghiệm phân biệt . 2. Ý NGHĨA MỘT SỐ BIẾN TRONG BÀI : • a , b ,c là ba hệ số của phương trình . • Delta là biến dùng để lưu giá trị Delta sau khi tính . • x1,x2 : là nghiệm của phương trình nếu pt có 2 nghiệm phân biệt • x : là nghiệm nếu phương trình chỉ có một nghiệm mà thôi 3. BÀI GIẢI : #include #include #include void main [] { clrscr[]; float a,b,c,delta; printf["ban hay nhap a,b,c vao "]; scanf["%f%f%f",&a,&b,&c];// cac he so cua pt bac 2 if [a!=0] { delta=b*b-4*a*c; if [delta>0] { printf["phuong trinh co 2 nghiem\n"]; printf["x1=%f",[-b-sqrt[delta]]/[2*a]]; printf["\n"]; printf["x2=%f",[-b+sqrt[delta]]/[2*a]]; } else //TH a0 va delta 29]]]; for[int i=1;i0] { ngay-=31; thang+=1; } break; case 2: if[[[nam%4==0]&&[nam%100!=0]]||[nam%400==0]] { if[[ngay-29]>0] { thang+=1; ngay-=29; } else break; } else { if[[ngay-28]>0] { ngay-=28; thang+=1; } else break; } break; default : if[[ngay-30]>0] { thang+=1; ngay-=30; } break; } } printf["\n Doi ra ngay thang la "]; printf["%lu - %d - %d",ngay,thang,nam]; getch[]; }

HẾT

hailoc12

05-08-2006, 07:09 PM

BÀI 04 : 1. Ý TƯỞNG THUẬT TOÁN : Bài này cũng tương tự như hai bài trên nhưng ta lại xét tháng trước nó sẽ nhanh hơn. Nếu tháng hợp lệ thì ta xét năm và ngày 2. Ý NGHĨA CỦA MỘT SỐ BIẾN TRONG BÀI : • Trong bài này cũng chỉ có 3 biến: ngay , thang ,nam Cả 3 biến này đều là biến input 3. BÀI GIẢI : #include #include void main[] { clrscr[]; unsigned long nam; int ngay, thang; printf["Nhap vao ngay "]; scanf["%d",&ngay]; printf["Nhap vao Thang "]; scanf["%d",&thang]; printf["Nhap vao Nam "]; scanf["%lu",&nam]; switch[thang] { case 1: case 3: case 5: case 7: case 8: case 10: case 12: if[[ngay>0]&&[ngay0]] printf[" Ngay nay la ngay hop le"]; else printf[" Ngay nay la ngay khong hop le"]; break; case 2: if[[[nam%4==0]&&[nam%100!=0]]||[nam%400==0]] { if[[ngay>0]&&[ngay0]&&[ngay0]&&[ngay0]] printf[" Ngay nay la ngay hop le"]; else printf[" Ngay nay la ngay khong hop le"]; break; default : printf["Ngay nay la ngay khong hop le "]; } getch[]; }

HẾT

hailoc12

05-08-2006, 07:13 PM

BÀI 05 : 1. Ý TƯỞNG THUẬT TOÁN : Bài này khai báo một biến kí tự để so sánh với mã phím input Nếu nhập 1 thì nhập chiều dài & rộng của hình chữ nhật Cách in ra hình chữ nhật như sau : In ra một dòng * có chiều dài là độ dài của hình Sau đó xuống dòng in ra kí tự * và in một dòng khoảng trắng nhỏ hơn độ dài là 2 rồi in kí tự * và xuống hàng Cứ như thế lặp lại số lần = chiều rộng trừ 2 In một dòng * cuối cùng bằng độ dài của hình Nếu nhập vào 2 thì nhập cạnh của hình vuông Cách in hình vuông tương tự như hình chữ nhật 2. Ý NGHĨA CỦA MỘT SỐ BIẾN TRONG BÀI : Trong bài này cĩ bi?n menu là bi?n nh?n mã phím và di?u khi?n vẽ hình Các biến a,b : là độ dài của hình cần vẽ 3. BÀI GIẢI : #include #include void main[] { clrscr[]; char menu; int a,b; do { printf[" Bam phim 1 de ve hinh chu nhat \n"]; printf[" Bam phim 2 de ve hinh Vuong \n"]; printf[" Bam phim 3 de thoat chuong trinh \n"]; printf[" Nhap vao mot so de thuc hien \n"]; fflush[stdin]; scanf["%c",&menu]; /*-----------Ve Hinh Chu Nhat --------------------*/ if[menu=='1'] { printf["Nhap vao chieu dai cua hinh "]; scanf["%d",&a]; printf["Nhap vao chieu rong cua hinh "]; scanf["%d",&b]; for[int i=0;i

Chủ Đề