c语言题目:乒乓球比赛

c语言题目:乒乓球比赛,第1张

太强大了,

#include "stdio.h"

void main()

{

char i,j,k/*i是汪物a的对手,j是b的对手,k是c的对手*/

for(i='x'i<='z'i++)//i有三种对阵情况x-a,y-a,z-a,用循环遍历

for(j='x'j<御陵搏='z'j++)//j有三种对阵情况x-b,y-b,z-b,用循环遍历

{

if(i!=j)//表示i 、j 不能为x,y,z三人中的同一个人

for(k='x'k<='z'k++)//k有三种对阵情况x-c,y-c,z-c,用循环遍历

{

if(i!=k&&j!=k)//表示k、i、j不能为镇祥x,y,z三人中的同一个人

{

if(i!='x'&&k!='x'&&k!='z')//此乃题目条件:A说他不和X比(a!=x),而i 又非跟a比,所以i!='x';C说他不和X、Z比。即:i!='x'且k!='x'且k!='z'(同理)

printf("order is a--%c\tb--%c\tc--%c\n",i,j,k)//经过以上排列,选择,最终确定对手组合

}

}

}

}

/*

A program for converting Pingpang scores.

Author: QQ

Version: 0.0

Date: 28/03/2008

Compiler: GCC

*/

#include<stdio.h>

#include<stdlib.h>

#include<string.h>

#define LINE 20

int check_valid(char *score) {//检查输入的合乱铅法性

int i

for (i = 0i<strlen(score)i++) {

if (*(score+i)=='W' ||*(score+i)=='w' ||*(score+i)=='l' ||*(score+i)=='L') continue

else {

free(score)

printf("Invalid input!\n")

return -1

}/哗芦好/if

}//for

return 0

}

void convert(char *score, int scheme) {

int i,win,lose

win = 0

lose = 0

for (i = 0i<strlen(score)i++) {

if (*(score+i)=='W' ||*(score+i)=='w') win++

else lose++

if (win+lose==scheme) {//判断总分是否是指定的分制

printf("%d:%d\n",win,lose)

win = 0//输出比分后清零

lose = 0

}

}//for

if (win+lose!=0) printf("%d:%d\n",win,lose)//如果最后没有打完输出当前结果

}

int main(int argc, char **argv) {

char s[LINE]

char *score,*tmp

score = strdup("")

do{

scanf("%s",s)

tmp = strchr(s,'E')

if (tmp!=NULL) {

//printf("not null%c $$$",*tmp)

*tmp='\0'

}

strcat(score,s)

}

while(tmp==NULL) //从屏幕读取赛况,直到读到大写E

//哗搜printf("%s\n",score)

if (check_valid(score)==-1) return -1//检查输入合法性

convert(score,11)

printf("\n")

convert(score,21)

free(score)//释放内存

return 1

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12510739.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存