练习51

/********************************************************************************* 

51. 微型蓝球赛. 甲,乙两队进行蓝球比赛,结果甲队以S:T 获胜.(T<S<=10, S,T 
 由键盘输入). 比赛中, 甲队得分始终领先(严格大于乙队). 规定以任何方式进一 
 球都只得一分. 编程序打印该比赛的每一种可能的不同的得分过程, 以及所有不同 
 过程的总数. 

  ********************************************************************************/ 

#include <stdio.h> 

#define N 10 

//比分 
typedef struct 
{ 
    int s; 
    int t; 
}Score; 

//计数器 
int counter = 0; 
//比分过程 
Score sc[2*N]={{0,0}}; 

//打印比赛过程 
void  print_match_proc(int k) 
{ 
    int i; 
    for(i=0; i<=k; i++) 
    { 
        printf("%d---%d/n",sc[i].s,sc[i].t); 
    } 
    printf("---------------Proc%d--------------/n",++counter); 
} 

//比赛 
void match(int S, int T, int k) 
{ 
    if(S>T) 
    { 
        sc[k].s = S; 
        sc[k].t = T; 
        if(S == N)//比赛结束 
        { 
            print_match_proc(k); 
            //getchar(); 
        } 
        else 
        { 
            match(S+1,T,k+1); 
            match(S,T+1,k+1); 
        } 
    } 
} 

//main 
void main() 
{ 
    match(1,0,1); 
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值