C语言经典例22-乒乓球比赛名单问题
生活随笔
收集整理的這篇文章主要介紹了
C语言经典例22-乒乓球比赛名单问题
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
目錄
- 1 題目
- 2 分析
- 3 實現(xiàn)
- 4 運行結(jié)果
1 題目
兩個乒乓球隊進行比賽,各出三人。甲隊為a,b,c三人,乙隊為x,y,z三人。已抽簽決定比賽名單。有人向隊員打聽比賽的名單。a說他不和x比,c說他不和x,z比,請編程序找出三隊賽手的名單。
2 分析
本題看似是一個腦經(jīng)急轉(zhuǎn)彎問題,可以推理出答案,但是若是要用程序?qū)崿F(xiàn),則要換成程序的思路,那么最簡單的方法就是三個人對三個人,用三層for循環(huán),通過限制條件篩選出答案,第一層是設(shè)a和x比,然后逐步循環(huán)到y(tǒng)和z,第二層是b和x比,然后逐步循環(huán)到y(tǒng)和z,第三層是c和x比,然后逐步循環(huán)到y(tǒng)和z,在循環(huán)的最內(nèi)層判斷篩選條件即可,首先a說他不和x比則a != x,然后c說他不和x,z比則c != x && c != z,最后自己不能和對內(nèi)的人比則a != b && b != c && a != c,為了將符號的數(shù)據(jù)數(shù)字化,這里采用ASCII碼的形式,將x對應(yīng)為x的十進制ASCII碼120,y對應(yīng)121,z對應(yīng)122,這樣就可以使用判斷符號進行比較,最后輸出的時候直接通過%c輸出即可
3 實現(xiàn)
#include <stdio.h>int main() {int x = 120, y = 121, z = 122;for (int a = x; a <= z; a++) {for (int b = x; b <= z; b++) {for (int c = x; c <= z; c++) {if (a != x && c != x && c != z && a != b && b != c && a != c)printf("a = %c\nb = %c\nc = %c\n", a, b, c);}}}return 0; }4 運行結(jié)果
a = z b = x c = y總結(jié)
以上是生活随笔為你收集整理的C语言经典例22-乒乓球比赛名单问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言经典例21-猴子吃桃问题
- 下一篇: C语言经典例24-分数累加和