Xcode寫C++(程序練習5:乒乓球比賽對手配對)

兩個乒乓球隊進行比賽,各出3人。甲隊爲A,B,C3人,乙隊爲X,Y,Z3人。已抽籤決定比賽名單。有人向隊員打聽比賽的名單,A說他不和X比,C說他不和X,Z比,請編程序找出3對賽手的名單。

本題的難點在於,除了要篩選A不和X比,C不和X,Z比的條件所得結果以外,還需要保證1對1不重複,即A,B,C三人所面向對象不重複。
1⃣️開始時的錯誤代碼:

#include <iostream>
//窮舉
void Match()
{
    for(char a='X';a<='Z';a++)//a爲A的對手
    {
        for(char b='X';b<='Z';b++)//b爲B的對手
        {
            for(char c='X';c<'Z';c++)//c爲C的對手
            {
                if(a!='X'&&c!='X'&&c!='Z')
                {
                    printf("A->%c,B->%c,C->%c\n",a,b,c);
                }
            }
        }
    }
}
int main()
{
    Match();
}

輸出結果如下:由結果我們可以看出,非1對1。
在這裏插入圖片描述
2⃣️我們將代碼進行修改後:(在條件語句中加入了a!=b&&a!=c&&b!=c,即A、B、C對應的X、Y、Z是1對1的)

#include <iostream>
//窮舉
void Match()
{
    for(char a='X';a<='Z';a++)//a爲A的對手
    {
        for(char b='X';b<='Z';b++)//b爲B的對手
        {
            for(char c='X';c<'Z';c++)//c爲C的對手
            {
                if(a!='X'&&c!='X'&&c!='Z'&&a!=b&&a!=c&&b!=c)
                {
                    printf("A->%c,B->%c,C->%c\n",a,b,c);
                }
            }
        }
    }
}
int main()
{
    Match();
}

輸出正確結果:A->Z,B->X,C->Y
在這裏插入圖片描述
源代碼如下:
#include
//窮舉
void Match()
{
for(char a=‘X’;a<=‘Z’;a++)//a爲A的對手
{
for(char b=‘X’;b<=‘Z’;b++)//b爲B的對手
{
for(char c=‘X’;c<‘Z’;c++)//c爲C的對手
{
if(a!=‘X’&&c!=‘X’&&c!=‘Z’&&a!=b&&a!=c&&b!=c)
{
printf(“A->%c,B->%c,C->%c\n”,a,b,c);
}
}
}
}
}
int main()
{
Match();
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章