1樓:盧恕範橋
那位仁兄的答案是錯的額,你判斷閏年有問題,真正閏年的定義是:年號是400的整倍數或4的整倍數(但非100的倍數),也就是說2000是閏年,2023年也是閏年,但2023年不是閏年。
vara,b,c:integer;
begin
readln(a,b);
casebof
1,3,5,7,8,10,12:c:=31;
4,6,9,11:c:=30;
2:if
amod
4=0then
begin
c:=29;
if(a
mod100=0)and(a
mod400<>0)
then
c:=28;
endelse
c:=28;
end;
writeln(c);
end.
2樓:喜揚揚
1.program ssy;
var i,e:integer;
begin
read(n);
assign(output,'tuxing.out');
rewrite(output);
for i:=n downto 1 do
begin
for e:=1 to i do write(e);
for e:=i-1 downto 1 do write(e);
writeln;
end;
close(output);
end.
2.program xt;
var thief:char;
begin
assign(output,'xt.out');
rewrite(output);
for thief:='a'to'd'do
if ord(thief<>'a')+ord(thief='c')+ord(thief='d')+ord(thief<>'d')=3 then writeln('the thief is',' ',thief);
close(output);
end.
第二題說明一下: a說:「我不是小偷。」 表示式為 'a'<>thief
b說:「c是小偷。」 表示式為 'c'=thief
c說:「小偷肯定是d」 表示式為 'd'=thief
d說:「c冤枉人!」 表示式為 'd'<>thief
用一個迴圈依次將thief賦值為a,b,c,d(即將a,b,c,d分別假定為小偷去檢驗),又因為
ord(true)=1
ord(false)=0
原題已說三人說的是真話,一人說的是假話
所以如果當thief被賦的值就是小偷時,thief<>'a', thief='c',thief='d',thief<>'d'這幾個布林變數就有3個為true,一個為false
所以ord(thief<>'a')+ord(thief='c')+ord(thief='d')+ord(thief<>'d')=3 這時就讀出 writeln('the thief is',' ',thief);
3樓:匿名使用者
1.program p1;
vari,j,n:integer;
begin
for i:=1 to n do
begin
for j:=1 to (5-i+1) dowrite(j);
for j:=(5-i) downto 1 dowrite(j);
writeln;
end;
end.
2.var
i:integer;
begin
for i:=1 to 4 do
if(ord(i=1)+ord(i<>3)+ord(i<>4)+ord(i=4))=1 then writeln(chr(ord('a')+i-1));
end.
希望提問者能看得懂我的答案!!!!
(渴望也行 (^o^) )!!!!!!!!!
樓上的作得不是不對,但太不容易理解!!!!!
(人家初學,還不懂)!!!!!
希望樓上的能加以改進!!!
(我的程式或許不是正宗的程式,但結果絕對正確!!!!)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)(^o^)
請支援我!!
謝謝@@@
以下內容可以不看
4樓:
1.program tuxing;
const n=5;
var i,e:integer;
begin
assign(output,'tuxing.out');
rewrite(output);
for i:=1 to n do begin
for e:=1 to n+1-i do write(e);
for e:=n-i downto 1 do write(e);
writeln;
end;
close(output);
end.
2.program xt;
var thief:char;
begin
assign(output,'xt.out');
rewrite(output);
for thief:='a'to'd'do
if ord(thief<>'a')+ord(thief='c')+ord(thief='d')+ord(thief<>'d')=3 then writeln('the thief is',' ',thief);
close(output);
end.
第二題說明一下: a說:「我不是小偷。」 表示式為 'a'<>thief
b說:「c是小偷。」 表示式為 'c'=thief
c說:「小偷肯定是d」 表示式為 'd'=thief
d說:「c冤枉人!」 表示式為 'd'<>thief
用一個迴圈依次將thief賦值為a,b,c,d(即將a,b,c,d分別假定為小偷去檢驗),又因為
ord(true)=1
ord(false)=0
原題已說三人說的是真話,一人說的是假話
所以如果當thief被賦的值就是小偷時,thief<>'a', thief='c',thief='d',thief<>'d'這幾個布林變數就有3個為true,一個為false
所以ord(thief<>'a')+ord(thief='c')+ord(thief='d')+ord(thief<>'d')=3 這時就讀出 writeln('the thief is',' ',thief);
5樓:匿名使用者
哇哇!!! 現在還有人學pascal程式設計?
我是玩delphi 的!!! 它也是基於pascal的!!! 呵呵!
兄弟。我可沒有叫你換哈!!只是現在正在陪美女聊天。沒來得急給你寫**。就敲了回車了!!!
不要亂想哈!!!
樓上。樓下的兄弟可不要亂講哈。怕怕!
6樓:
const n=5;
var i,e:integer;
begin
assign(output,'tuxing.out');
rewrite(output);
for i:=1 to n do beginfor e:=1 to n+1-i do write(e);
for e:=n-i downto 1 do write(e);
writeln;
end;
close(output);
end.
2.program xt;
var thief:char;
begin
assign(output,'xt.out');
rewrite(output);
for thief:='a'to'd'doif ord(thief<>'a')+ord(thief='c')+ord(thief='d')+ord(thief<>'d')=3 then writeln('the thief is',' ',thief);
close(output);
end.
很簡單的 自己體會一下把
7樓:1出問題
.............
第一題n是變數不是常量5,應該讀入
8樓:匿名使用者
no.1
vari,j,k,n,m:longint;
begin
read(n);
for i:=1 to n do
begin
for j:=1 to n-i+1 do
write(j);
for j:=n-i downto 1 dowrite(j);
if i<>n then writeln;
end;
end.
9樓:
不是進來回答的,是勸你換種語言的
10樓:xx小小迷
習題上有答案的,自己翻一翻。
pascal郵票問題程式設計題目郵票問題
如樓上所說這個子程式其實就是求能構成的最大面值,對於每個面值的郵票,選擇要幾張,並且郵票用光了就結束,結果就在money裡 其實沒有太大的意義 讓你體會一下回溯的思想 這個子程式其實就是求能構成的最大面值,對於每個面值的郵票,選擇要幾張,並且郵票用光了就結束,結果就在money裡,通過money就可...
pascal程式設計題目
vara array 1.100 of integer n,i,ans,len,tmp,beg integer begin read n for i 1 to n do read a i tmp 0 ans 0 len 0 beg 0 for i 1 to n do begin if tmp a i...
pascal 數字分組問題,Pascal記數問題
答案是這些 計算這個答案的pascal程式如下,做好心理準備,別笑疼了肚子 program project1 var a1,a2,a3,a4,a5,a6,a7,a8,a9 integer beginfor a1 1 to 9 do for a2 1 to 9 do if a2 a1 then for...