求助C 程式設計?本人正在學習C是個新手。有程式設計問題請教,求解答

2021-08-03 08:13:12 字數 1734 閱讀 8658

1樓:

1、首先是將五個人的**寫成表示式:

讓關係運算子 「==」 的含義是 「是」。

讓數字 1、2、3、4、5 分別表示名次。

讓整型變數 a、b、c、d、e 分別存放每個選手所得名次。

a選手說:b==2,a==3;

b選手說:b==2,e==4;

c選手說:c==1,e==2;

d選手說:c==5,d==3;

e選手說:e==4,a==1;

2、考慮到每個人說的話是一對一錯,即一真一假,比如a說的(b==2)+(a==3)應該是 1。

1+0=1

0+1=1

所以可以得到以下表示式:

ta= ((b==2)+(a==3))==1;

tb= ((b==2)+(e==4))==1;

tc= ((c==1)+(d==2))==1;

td= ((c==5)+(d==3))==1;

te = ((e==4)+(a==1))==1;

ta+tb+tc+td+te==5

3、每個人的名次是不同並且都是屬於,那麼我們就可以得到以下表示式:

a+b+c+d+e=15

a*b*c*d*e=120

4、通過列舉,多重迴圈即可得到滿足以上條件的a、b、c、d、e的值。

**如下:

#include

using namespace std;

int a,b,c,d,e;

void main()

for(a=1;a<=5;a++)

for(b=1;b<=5;b++)

for(c=1;c<=5;c++)

for(d=1;d<=5;d++)

for(e=1;e<=5;e++)

if((a+b+c+d+e)==15)

if ((a*b*c*d*e)==120)if (((b==2||a==3)+(b==2||e==4)+(c==1||d==4)+(c==5||d==3)+(e==4||a==1))==5)

2樓:匿名使用者

1 2 3 4 5

a說: b a

b說: b e

c說: c d

d說; d c

e說: a e

插圖比較麻煩,講究著看。

他們說的都是一半對一半錯,那麼我們就用假設法。

1:假設a說的當中a第三是對的-->那麼d說的d第三就錯-->則d說的c第五就對-->則c說的c第一就錯-->則c說的d第四就對,這樣我們就確定了a-3,d-4,c-5.

另一邊,a說a三對,-->則a說b是第二就錯-->b說的b是第二就錯-->b說的e是第四就對,而上面已經推出了d是第四,兩者相矛盾,所以就是錯了咯。

2:根據第一點推斷的,知道a說的b是第二十正確的,就根據這樣推就行了,結果是a b e d c.

當然,上面是我推出來了,所以直接先判的a說a第三是對,這樣就可以排除這種可能,但在寫**的過程中就需要你分很多種的情況去分析,說白了,也就是不斷的用if else if else....加上"||"和"&&"去做判斷,所以要比較的細心點要考慮到全面的情況。**就不寫了,我也嫌麻煩。

3樓:剎那v永恆

建議做一下八皇后,和這個一個道理……我得關機了,明天晚上給你寫程式

4樓:匿名使用者

窮舉,然後分別判斷每個人描述的是否是一個對一個錯,如果全滿足就可以輸出結果。

c 程式設計求助大神,求助c 程式設計

呀呵嗨,呀呵嗨,三月碧波湧茶海,滿眼春綠一排排。片片翠葉誰裁出,春風無語濃濃愛。陽光輕輕吻,新芽俏爭春,茶香縷縷醉情懷。c 程式設計題求助大神 你這個畫質 真的沒辦法看清題目啊,兄弟,建議上傳原圖,或者把題目那段放大一些 c 程式設計,求大神幫忙 include include using name...

C語言指標程式設計題,求助大佬,C語言程式設計題,求助大佬,謝謝

include int main c語言程式設計題,求助大佬,謝謝 include stdio.h int main int argc,char argv if w 3500 1500.0 tax w 0.03 else if w 1500.0 w 4500.0 tax w 0.1 105 else...

C語言的簡單題,求助大神c語言程式設計題求助大神

include struct s int main void if p null sp while head if max 0 如果max為0,說明沒找到重複出現子串 printf no output n return 0 那麼問題來來了,兩個重複源則子串允不允許有交集?比如 abcd abcd a...