C语言 抽签结果 两个乒乓球队比赛,甲队ABCD,乙WXYZ。A不与X比赛,C不与XZ比赛,D不与W比赛,输出结果。
解决时间 2021-03-11 15:16
- 提问者网友:我们很暧昧
- 2021-03-11 10:52
我不知道我哪里错了,帮我看一下
#include
int main()
{
char w,x,y,z;
int i,j;
j=1;
printf("The result is:\n");
for(i=1;j>0;i=i++){
for(w='W';w<='Z';w=w++){
for(x='W';x<='Z';x=x++){
if(w!=x){
for(y='W';y<='Z';y=y++){
if(y!=w&&y!=x){
for(z='W';z<='Z';z=z++){
if(z!=x&&z!=y&&z!=w){
if(w!='X'&&y!='X'&&y!='Z'&&z!='W'){
printf("Group %d:\nA VS %c B VS %c C VS %c D VS %c\n\n\n",i,w,x,y,z);
if(w=='Z'&&x=='Y'){
j=0;
}
getchar();
}
}
}
}
}
}
}
}
if(j==0){
printf("There are %d ways to asssign the players",i);
}
}
return 0;
}
输出·结果要求输出抽签结果,并在最后统计有多少组对战方案。
最佳答案
- 五星知识达人网友:笑迎怀羞
- 2021-03-11 11:02
朋友,你的程序显得有点繁琐,看起来有点吃力,所有我为你现写了一个程序,解决你的问题,有部分注释,如不懂再追问哈。
#include
#define N 4
int main()
{
char a[N]={'A','B','C','D'};
char b[N]={'W','X','Y','Z'};
int count = 0;
int i=0, j=0;
for (i=0; i
for (j=0; j
{
if (a[i]=='A'&&b[j]=='X') continue;
if (a[i]=='C'&&b[j]=='X' || a[i]=='C'&&b[j]=='Z' ) continue;
if (a[i]=='A'&&b[j]=='X') continue;
if (a[i]=='D'&&b[j]=='W') continue;
count++;
printf("方案%-2d:%c <-对战-> %c\n",count,a[i],b[j]);
}
printf("一共有%d种方案\n",count);
return 0;
}
全部回答
- 1楼网友:梦中风几里
- 2021-03-11 12:34
哥们儿,w=w++什么的写法是错的,只有w++或者w=w+1
我要举报
大家都在看
推荐资讯