pascal程式設計 誰做了好事?有ABCD四位學生,其中一位做

2021-06-12 06:44:09 字數 1949 閱讀 3370

1樓:

a,b,c,d:boolean;

a=1; b=0; c=0; d=0; //如果是a

if ((not (not a))and(c)and(d)and(not d))or ((not a)and(not c)and(d)and(not d))or

((not a)and(c)and(not d)and(not d))or((not a)and(not c)and(d)and(not (not d)))

then writeln('a');

a=0; b=1; c=0; d=0;//如果是b

if ((not (not a))and(c)and(d)and(not d))or ((not a)and(not c)and(d)and(not d))or

((not a)and(c)and(not d)and(not d))or((not a)and(not c)and(d)and(not (not d)))

then writeln('a'); //和上面一樣,可以放到函式裡面

a=0; b=0; c=1; d=0;

...a=0; b=0; c=0; d=1;

...這是我的想法,太久沒寫pascal,不太標準

2樓:善良的茹毛飲血

選c 就是c

看看是誰做的好事 c語言!!!!!!

3樓:匿名使用者

做了好事不留名,意思就是有一個人說了謊話,因此分四種情況,以abcd分別說了謊為四個條件來算,最後輸出滿足的結果。正確程式如下:

#include

void main()

}供參考:)

4樓:

編這個還真不會...不過,按邏輯推理的話

4個同學的話中你看d,他說“有一個人說的不對”從這裡開始推理....

我就直接告訴你答案自己推,

a不是我,是對的

b是c,是對的

c是d,是錯的

所以d說c是錯的。ok

5樓:

c 語言中程式設計出來就是c 這個答案。

不用c 程式設計就不知道了。

因為在c 語言程式設計中。你首先定義的a,b,c ,d。 a 說不是。

就一定不是了(程式中你得用這句話做判定,來排除a )。只有 c,d有可能(b沒人說,所以沒他的份)。然後c說的d 。

d說c不對,就只有c 了。

程式設計就算了吧。我討厭程式設計。

根據上面的思路,自己搞定吧。不難,學了點c 的都行。

6樓:匿名使用者

#include

int logic(int a, int n);

int main()

printf("%c\n", 'a'+ans);

}int logic(int assert, int n)else

}/* 驗證 */

while (res)

if (check == 1)

break;

}if (i != n)

return ans;

else

return -1;

} 思路是這樣的他們中間有且只有一個人在說謊, 把這個說謊的人說的話取反, 和另外三個人的話取交集, 會得到唯一的一個做好事的人. 程式分別假設這四個人中一個人說謊, 其他人說實話,

求三個真話和一個取反的謊話(=真話)的交res, 然後判斷res中是否只包含一個人(有幾位是1), 就得到了結果 。

7樓:雙月夜雪

#include

int main()

;int b[4]=;

for(i=0;i<4;i++)

a[i]=0;

}getchar();}

pascal程式設計

vara array 1.100,1.100 of longint i,j,n longint begin readln n for j 1 to n do a 1,j j for i 2 to n do for j 1 to n i 1 do a i,j i a 1,j i 1 for i 1 t...

pascal程式設計的語言,Pascal語言是什麼?

program 程式 const 常量 type 型別 var 變數 function 函式 procedure 過程 begin 開始 end 結束 if 如果 then 那麼 else 否則 case of 分支 for to do 計數迴圈 while 當迴圈 repeat 迴圈 until ...

學什麼程式語言好,程式語言學什麼好

初學者首選肯定是vb6 其次vb.net 然後是c vb所見即所得一週 內入門沒難度 不僅能入門直接能開發小型程式 windows平臺常用的工具用vb開發都是最便捷的 非專業人士的首選 c是必學的沒得選不僅是因為它是本科必修課也因為它的基礎性地位 現在都是資訊化的時代,沒有一門好的技術是難以在社會之...