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