Mình bên KHMT cũng xin mạn phép post bài 2 để thảo luận nha ^^
CHỗ xét thứ có thể dùng case of cũng được nhưng mình dùng If cho nó đỡ tốn line
Code:
program bt2; uses crt; var a,b,n,i,j,tong,x:longint; k:boolean; function xetnam(n:longint):boolean; begin if((n mod 4=0)and(n mod 100<>0))or(n mod 400=0)then xetnam:=true else xetnam:=false; end; begin clrscr; repeat write('Nhap ngay thang nam: '); readln(a,b,n); until (n>=1900)and(b<=12)and(a<=31); writeln('Ngay ',a,' Thang ',b,' Nam ',n); tong:=0; for i:=1900 to n-1 do if(xetnam(i)=true)then tong:=tong+366 else tong:=tong+365; x:=(b-1) div 2; if(b=1)then tong:=tong+a else if(b=2)then tong:=tong+31+a else if(b>2)then begin if(xetnam(n)=true)then tong:=tong+29+a+(x+1)*31+(b-2-(x+1))*30 else tong:=tong+28+a+(x+1)*31+(b-2-(x+1))*30; end; j:=tong mod 7; if(j=0)then write('Chu Nhat') else if(j=1)then write('Thu hai') else if(j=2)then write('Thu ba') else if(j=3)then write('Thu tu') else if(j=4)then write('Thu nam') else if(j=5)then write('Thu sau') else if(j=6)then write('Thu bay'); readln; end.
Comment