C语言 抽签结果 两个乒乓球队比赛,甲队ABCD,乙WXYZ。A不与X比赛,C不与XZ比赛,D不与W比赛,输出结果。
我不知道我哪里错了,帮我看一下/*抽签结果*/#include<stdio.h>intmain(){charw,x,y,z;/*ABCD分别对战wxyz*/inti,j;...
我不知道我哪里错了,帮我看一下
/*抽签结果*/
#include <stdio.h>
int main()
{
char w,x,y,z; /*ABCD分别对战wxyz*/
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;
}
输出·结果要求输出抽签结果,并在最后统计有多少组对战方案。 展开
/*抽签结果*/
#include <stdio.h>
int main()
{
char w,x,y,z; /*ABCD分别对战wxyz*/
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;
}
输出·结果要求输出抽签结果,并在最后统计有多少组对战方案。 展开
2个回答
展开全部
朋友,你的程序显得有点繁琐,看起来有点吃力,所有我为你现写了一个程序,解决你的问题,有部分注释,如不懂再追问哈。
#include <stdio.h>
#define N 4
int main()
{
/*a[0]~a[3]分别代表A~D */
char a[N]={'A','B','C','D'};
/*b[0]~b[3]分别代表W~Z*/
char b[N]={'W','X','Y','Z'};
/*count用来存放所有的可能情况数*/
int count = 0;
int i=0, j=0;
for (i=0; i<N; i++)
for (j=0; j<N; j++)
{
/*A不与X比赛,直接开始下次循环*/
if (a[i]=='A'&&b[j]=='X') continue;
/*C不与XZ比赛,直接开始下次循环*/
if (a[i]=='C'&&b[j]=='X' || a[i]=='C'&&b[j]=='Z' ) continue;
/*C不与XZ比赛,直接开始下次循环*/
if (a[i]=='A'&&b[j]=='X') continue;
/*D不与W比赛,直接开始下次循环*/
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;
}
#include <stdio.h>
#define N 4
int main()
{
/*a[0]~a[3]分别代表A~D */
char a[N]={'A','B','C','D'};
/*b[0]~b[3]分别代表W~Z*/
char b[N]={'W','X','Y','Z'};
/*count用来存放所有的可能情况数*/
int count = 0;
int i=0, j=0;
for (i=0; i<N; i++)
for (j=0; j<N; j++)
{
/*A不与X比赛,直接开始下次循环*/
if (a[i]=='A'&&b[j]=='X') continue;
/*C不与XZ比赛,直接开始下次循环*/
if (a[i]=='C'&&b[j]=='X' || a[i]=='C'&&b[j]=='Z' ) continue;
/*C不与XZ比赛,直接开始下次循环*/
if (a[i]=='A'&&b[j]=='X') continue;
/*D不与W比赛,直接开始下次循环*/
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;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询