邏輯運算子 題型
阿新 • • 發佈:2018-11-02
////1.5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果 ////A選手說:B第二,我第三; ////B選手說:我第二,E第四; ////C選手說:我第一,D第二; ////D選手說:C最後,我第三; ////E選手說:我第四,A第一; ////比賽結束後,每位選手都說對了一半,請程式設計確定比賽的名次。 ////思路:這題是要求對於5個人說的話進行真假判斷,由於這5個人說的話只有50%的概率 ////正確,所以我們採取邏輯或進行判定,最後可以將這5個人說的話通過與在進行判斷是 ////否等於1,如果等於1那麼則說明是真,輸出他們的值。 //#include<stdio.h> //#include<stdlib.h> //int main() { // int A = 0; // int B = 0; // int C = 0; // int D = 0; // int E = 0; // //對於這5個人他們每個人分別有5種情況,所以通過迴圈表示 // 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 ((B == 2 || A == 3) && (B == 2 || E == 4) && // (C == 1 || D == 2) && (C == 5 || D == 3) // && (E == 4 || A == 1) == 1) { // printf("A=%d,B=%d,C=%d,D=%d,E=%d\n", A, B, C, D, E); // } // } // system("pause"); // return 0; //} ////2.日本某地發生了一件謀殺案,警察通過排查確定殺人凶手必為4個 ////嫌疑犯的一個。以下為4個嫌疑犯的供詞。 ////A說:不是我。 ////B說:是C。 ////C說:是D。 ////D說:C在胡說 ////已知3個人說了真話,1個人說的是假話。 ////現在請根據這些資訊,寫一個程式來確定到底誰是凶手。 ////思路:根據要求只有三個人說的是真話,通過ASCII碼遍歷對他們進行判斷,如果為真則加 ////1操作,當加到3的時候就表示這種情況可以,那麼則輸出; ////總共有4人分別為A,B,C,D對他們的ASCII碼進行判定 ////在進行判斷的時候真用1表示,假用0表示。 //#include<stdio.h> //#include<stdlib.h> //int main() { // int criminal = 0; // for (criminal = 'A'; criminal <= 'D'; criminal++) { // if ((criminal != 'A') + (criminal == 'C') + (criminal == 'D') // + (criminal != 'D')==3) { // //說明只有一個條件為假 // printf("凶手是:%c", criminal); // } // } // system("pause"); // return 0; //} //3.在螢幕上列印楊輝三角。 //1 //1 1 //1 2 1 //1 3 3 1 //思路:將楊輝三角形放在一個矩陣裡面,這樣的話可以通過行列的關係得到每個位置 //的元素值 #include<stdio.h> #include<stdlib.h> int main() { int a[3][3] = { 1 }; int i = 0; int j = 0; for (i = 0; i <= 3; ++i) { a[i][0] = 1;//每一行的首元素都為0 for (j = 1; j <= i; j++) { a[i][j] = a[i - 1][j - 1] + a[i - 1][j]; } } for (i = 0; i <= 3; ++i) { for (j = 0; j <= i; j++) { printf("%d", a[i][j]); } printf("\n"); } system("pause"); return 0; }