怎么用C语言表达呢,求DL带带

1.四位运动员分别来自北京、广东、海南和吉林,在游泳、田径、篮球和足球
道一些情况:
根据这些条件,请你编写一个完整的C语言程序分析一下:这四名运动员各
(3)周五和北京人、篮球运动员三人同住一个房间;
(5)海南运动员不参加游泳比赛。
四项运动中,每人只参加了一顶,且四人的运动项目各个不相同,除此以外只知
(4)马六不是北京人,年龄比吉林运动员和游泳运动员两人的年龄小;
(1)张三是球类运动员,不是南方人;
(2)李四是南方人,不是球类运动员:
来自什么地方?各参加什么运动。

用4重循环嵌套判断。每个循环变量分别代表一位运动员,再加入条件判断。

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

用C++写了个跟屎一样的代码,仅供参考。
int main() {
int a[4][4] = { 0 };
for (int k = 0; k < 4; k++)
{
for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { a[i][j] = 0; } }//置零
a[0][k] = 1;
for (int i = 0; i < 4; i++)
{
for (int i = 1; i < 4; i++) { for (int j = 0; j < 4; j++) { a[i][j] = 0; } }//置零后三行
if (a[1][i] + a[0][i] == 0) {
a[1][i] = 1;
for (int m = 0; m < 4; m++) {
if (a[2][m] + a[1][m] + a[0][m] == 0)
{
for (int i = 2; i < 4; i++) {
for (int j = 0; j < 4; j++) {
a[2][j] = 0;}}//置零后两行
a[2][m] = 1;
//a[3][6 - m - i - k] = 1;
for (int n = 0; n < 4; n++)
{
for (int i = 0; i < 4; i++) { a[3][i] = 0; }//置零最后一行
if (a[3][n] + a[2][n] + a[1][n] + a[0][n] == 0)
a[3][n] = 1;
if (a[0][0] + a[0][1] + a[1][0] + a[1][1] >= 1 &&
a[2][2] + a[2][3] + a[3][2] + a[3][3] >= 1 &&
a[1][0] + a[1][1] + a[2][0] + a[2][1] + a[3][0] + a[3][1] >= 1 &&
a[0][1] == 0 && a[0][3] == 0 && a[2][2] == 0 &&
a[1][3] == 1
)
{
cout << " " << "广" << "海" << "北" << "吉" << endl;
for (int i = 0; i < 4; i++)
{
switch (i)
{
case 0:cout << "游:"; break;
case 1:cout << "田:"; break;
case 2:cout << "篮:"; break;
case 3:cout << "足:"; break;
}
for (int j = 0; j < 4; j++)
{
cout << a[i][j] << " ";
}
cout << endl;
}
break;
}
}

                    }
                }
            }
        }
    }
}