A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 984326157 中级黑马   /  2015-7-16 00:34  /  1700 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三对赛手的名单。
  1. int main(int argc, const char * argv[]) {
  2.     char a,b,c;
  3.     for (a='x'; a<='z'; a++) {
  4.         for (b='x'; b<='z'; b++) {
  5.             if (a!=b) {
  6.                 for (c='x'; c<='z'; c++) {
  7.                     if (a!=c && b!=c) {
  8.                         if (a!='x' && c!='x' && c!= 'z') {
  9.                             printf("三对赛手的名单是:a VS %c,b VS %c,c VS %c",a,b,c);
  10.                         }
  11.                     }
  12.                 }
  13.             }
  14.         }
  15.     }
  16.    
  17.     return 0;
  18. }
复制代码

4 个回复

倒序浏览
好牛逼的感觉
回复 使用道具 举报
#include <stdio.h>

int main(int argc, const char * argv[]) {
    char ch[3]={'x','y','z'};
    char a,b,c;
    int i=0;

    do{
        c=ch[i++];
    }while (c=='x'||c=='z');
    i=0;
    do{
        a=ch[i++];
    }while (a=='x'||a==c);
    i=0;
    do{
        b=ch[i++];
    }while (b==a||b==c);
    printf("a对%c, b对%c, c对%c",a,b,c);

    return 0;
}


回复 使用道具 举报
  1. #include <stdio.h>
  2. int main(int argc, const char * argv[]) {
  3.     char ch[3]={'x','y','z'};
  4.     char a,b,c;
  5.     int i=0;
  6.     do{
  7.         c=ch[i++];
  8.     }while (c=='x'||c=='z');
  9.     i=0;
  10.     do{
  11.         a=ch[i++];
  12.     }while (a=='x'||a==c);
  13.     i=0;
  14.     do{
  15.         b=ch[i++];
  16.     }while (b==a||b==c);
  17.     printf("a对%c, b对%c, c对%c",a,b,c);
  18.     return 0;
  19. }
复制代码


回复 使用道具 举报

//甲、乙两个球队,甲有 A、B、C 三人,乙有 X、Y、Z 三人,A不和X比,C不和X、Z比,请找出三对对手的名单。
/*
#include "stdio.h"
int main()
{
    int a,b,c;//这里的小写的a、b、c,其实就是指代X、Y、Z。
    for(a='x';a<='z';a++) //三个变量全部遍历,寻找所有情况
        for(b='x';b<='z';b++)
            for(c='x';c<='z';c++)
                if(a!=b&&a!=c&&b!=c)  //首先,情况只有一种,没有一个人和两个人打的,所以要保证三者不同。
                   if(a!='x'&&(c!='x'&&c!='z')) //这里就是题目中的条件,a!='x',正好说明了,a是代替的球员X,球员A不和球员X比,所以变量a肯定不能指代球员X。因为最后输出球员A是和变量a指代的球员比赛。
                       printf("A vs %c\nB vs %c\nC vs %c",a,b,c);
    return 0;
}
*/
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马