乒乓球计分程序编程题目乒乓球单打比赛程序模拟。比赛的双方简称 A和B, 他们的比赛规则采用: 1, 比赛胜负采用 7局4 胜制:谁先取得 4 局胜利就赢得比赛; 2, 每局比分采用 11 分制:A、如果比赛双方谁获得 11 分并且领先对方 2 分或 2 分以上,则该局比赛结束,获得 11 分一方获胜; B、如果一方获得 11分, 但领先对手的分数不足 2分, 则还要继续比赛, 直至一方分数领先另一方 2 分以上, 该局比赛才结束, 领先对手 2分以上的一方获胜; 3, 发球规则:在比分 10比 10 之前,每人可以连续发球两次,后换发球发球两次;在比分 10比 10 之后,每人发 1 次球后换发; 4, 得分方法:每次发球后得分的信息由函数 int Shot() 获得, 如 shot 返回 1 则表示发球的一方得分,如返回 0 则表示接球的一方得分; 5, 首局比赛由 A 先发球,次局比赛由 B 先发球,依次顺序循环; int Shot() { return rand()%2; // 不要忘记设置种子! } 输出: 每一局比赛得得分,谁最终赢得了比赛! // : 定义控制台应用程序的入口点。// #include "" #include<> #include<> #include<> #include<> #include<> #define MAXSCORE 11 // 定义每局得分为 11 #define SUM 4 int Shot() // 随机生成数{ srand( (unsigned)time(NULL) ); // 设置种子! return rand()%2; } int _tmain(int argc, _TCHAR* argv[]) { int a; int Ascore; //A 的得分 int Bscore; //B 的得分 int Asum=0; //A 的获胜场数 int Bsum=0; //B 的获胜场数 printf(" 每一局比赛得得分如下: \n"); for(int j=1;j<=7; j++) { Ascore =0; Bscore =0; for(int i=1; i<= 24; i++) // 比赛比分的判断{ // //printf("%d\n",a); a= Shot(); // 随机生成比赛比分 if (a==1) { Ascore++; } else { Bscore++; } if( abs(Ascore - Bscore)==1) //abs ()求绝对值, 判断比分是否大于 1{ continue; } if( (Ascore >=MAXSCORE) || (Bscore >= MAXSCORE) ) // 胜利场数的判断{ if(Ascore - Bscore>=2) { Asum++; } if(Bscore -Ascore>=2) { Bsum++; } break; } //
乒乓球计分程序 来自淘豆网m.daumloan.com转载请标明出处.