2000.6请你编程 卜天明 2000年 第25期   大家好!“请你编程”又与你们见面了。“请你编程”得到了广大朋友的关心和支持,我在这里表示衷心的感谢。“请你编程”是一个读者朋友直接参与的栏目,是一个体现自我的园地,希望有编程愿望的朋友,无论是编程高手,还是初学者都能参与进来,我们将会认真对待每一份作品。下面请看2000.4期重庆读者张周的程序。   本程序的基本思想是:先定义一个数组,该数组包含9个元素,每个元素都是一个结构,存放一个三角形的信息:a,b,c代表三角形三个顶点的序号,linenum代表三角形中已连线的数目,若该数目为3,则说明已组成了一个完整的三角形。程序开始时,首先按题意将每个三角形的序号填入结构数组的一个元素中,然后从输入文件中读取每个参赛者的每一次连线的两个序号,再在上述定义好的结构数组中查找,若发现该两个序号属于某一结构数组中的元素,则将该元素中的linenum加1,如果linenum为3,则表明该游戏者已找到了属于他的三角形,下一次仍由他玩,继续如此循环直到游戏结束。最后比较游戏双方找到三角形的数目,数目大者便为胜利者。   # include   void main()   {/*定义一个结构,用于存放三角形的信息*/   typedef struct   {int a,b,c;/*分别存放三个顶点的序号*/   int linenum;/*存放该三角形已实际连起来的边的数目,若为3,则说明已组成了一个完整的三角形 */   } TriangleNode;    TriangleNode TriangleArray[9]; /* 结构数组,共有9个元素,其中每个元素表示一个三角形的信息*/   int ANum,BNum,times,i,j,k,n,m,x,y,StepFlag,FindFlag;   /* ANum,BNum 分别存放两个游戏者已找出的属于自己的三角形的个数 */   FILE *fp;   fp=fopen(″method.txt″,″rb″);   if (!fp)   { printf(″Can not open the file: method.txt!″);   exit(1);}   /*装入每个三角形的顶点的序号到结构数组中*/   TriangleArray[0].a=1; TriangleArray[0].b=2; TriangleArray[0].c=3;   TriangleArray[1].a=2; TriangleArray[1].b=4; TriangleArray[1].c=5;   TriangleArray[2].a=2; TriangleArray[2].b=3; TriangleArray[2].c=5;   TriangleArray[3].a=3; TriangleArray[3].b=5; TriangleArray[3].c=6;   TriangleArray[4].a=4; TriangleArray[4].b=7; TriangleArray[4].c=8;   TriangleArray[5].a=4; TriangleArray[5].b=5; TriangleArray[5].c=8;   TriangleArray[6].a=5; TriangleArray[6].b=8; TriangleArray[6].c=9;   TriangleArray[7].a=5; TriangleArray[7].b=6; TriangleArray[7].c=9;   TriangleArray[8].a=6; TriangleArray[8].b=9; TriangleArray[8].c=10;   fscanf(fp,″%d″,&times); /*读入总共玩游戏的次数*/   for (i=0; iBNum) printf(″Game %d: A wins.\n\n″,i+1);   else if (ANum