(1)猜名次
5位運動員參加了10米臺跳水比賽,有人讓他們預測比賽結果:c++
A選手說:B第二,我第三;編程
B選手說:我第二,E第四;ide
C選手說:我第一,D第二;函數
D選手說:C最後,我第三;ui
E選手說:我第四,A第一;code
比賽結束後,每位選手都說對了一半,請編程肯定比賽的名次
首先呢,編程的目的就是爲了解決實際問題,當咱們看到這道題的時候,須要跳脫出咱們本身的固定思惟,學會編程思惟,倆者之間其實就是一個轉換,大概步驟:
1,讀題,瞭解到題目在表達什麼,須要作什麼,結果是要求什麼
2.進行簡單的分析,麻煩的,瑣碎的思惟留給替你打工的計算機;string
代碼展現;void gue***ank()//調用函數it
{io
int a, b, c, d, e;//int型是由於a,b.c.e.爲變量,賦值12345.排名; 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) == 1 && (b == 2) + (e == 4) == 1 && (c == 1) + (d == 2) == 1 && (d == 3) + (c == 5) == 1 && (e == 4) + (a == 1) == 1)//進行篩選,由題分析獲得的篩選條件;代碼寫於此處基本已完成,能夠試一下運行看結果 { if (a * b * c * d * e != 120) //由上面結果能夠獲得,知足體幹條件的狀況裏面,有重複排名的狀況,此處進行這個操做,是在保證五人排名相異; { continue;跳出 } printf("a = %d, b = %d, c = %d, d = %d, e = %d\n", a, b, c, d, e);//打印結果,注意格式 } } } } } }
}class
int main()
{
gue***ank();//函數調用,這裏會發現函數其實並未傳參 return 0;
}
日本某地發生了一件謀殺案,警察經過排查肯定殺人兇手必爲4個嫌疑犯的一個。
如下爲4個嫌疑犯的供詞:
A說:不是我。
B說:是C。
C說:是D。
D說:C在胡說
已知3我的說了真話,1我的說的是假話。
如今請根據這些信息,寫一個程序來肯定到底誰是兇手
(1)問題的結果是輸出兇手
(2)輸出結果爲A.B C D,k考慮到字符類型
(3)條件是三真一假,轉化爲代碼如何構建
int main() { char murder; int i = 0, sum = 0; for (i = 1; i <= 4; i++) { murder = 64 + i;//murder爲char類型,轉爲ABCD sum = (murder != 'A') + (murder == 'C') + (murder == 'D') + (murder != 'C'); if (sum == 3) { printf("兇手是:%c", murder); } } return 0; }
第三題
楊輝三角
總結規律:
// 1. 每一行, 第一列和最後一列都是 1
// 2. 每一行, 列數, 和當前行號相同
// 3. 第 row 行 第 col 列 元素的內容, row-1行 col-1列 + row-1行 col列
// 例如, 第3行第2列值是 2 , 第 2 行第 1 列 和 第2行 第2列 和
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<string.h> // //楊輝三角 //1.首位是1; //2.出首尾外,每次的數字爲上一行,上一列所在和上一行,所在列的和; void print_yanghui(int n) { int arr[15][15] = { 0 };//此處的15是隨手給的,若是須要動態變化的話,可使用·例如malloc, for (int row = 1; row <= n; row++)//行的循環 { for (int col = 1; col <= row; col++)//列的循環 { if (col == 1 || col == row)//首尾爲一 { arr[row][col] = 1; } else { arr[row][col] = arr[row - 1][col - 1] + arr[row - 1][col]; } printf("%d", arr[row][col]);//打印一行 }printf("\n");//打印完一行後換行操做 } } int main() { int n = 0; printf("親輸入要打印的楊輝三角的行數>");//此處給定基礎數量的自定義操做 scanf("%d", &n); print_yanghui(10); return 0; }