考试题易错点

本文介绍了大牌点(hcp)的概念,以及如何根据新规定计算一手牌的hcp。题目要求编写一个函数,处理含有特定字符(3456789TJQKA2BR)的字符串,返回其对应的点数总和。需要注意字符判断的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

6-3 大牌点计算函数 (100 分)

大牌点,英文全称是High Card Point,简写为hcp 。它是衡量一手牌好坏的标准。我们规定A=4hcp, K=3hcp, Q=2hcp, J=1hcp.由此,拿到一手牌我们可以很快地计算出他的hcp。我们也可以很快知道,一副牌一共是40Hcp。这个值对于每副牌来说,就是东南西北4个人手上大牌点的总和。

现我们重新规定每张排的点数,请你写一段函数来计算一下一手排的大牌点。

新规定如下:3,4,5均为1点,6,7,8均为2点,9,T(代表10)均为3点,J为4点,Q为5点,K为6点,A为8点,2为10点,B(代表小王)为15点,R(代表大王)为20点。

输入: 第一行为一个整数n(0<n<100),共n手牌; 后边为n行,每行为一个长度不超过20的字符串,代表一手牌(字符串中只可能包含字符3456789TJQKA2BR)。

输入: 共n行,将输入的n手牌按牌的点数依次输出(测试用例保证没有点数相同的牌)。

函数接口定义:

int        getPoint(char hand[]) ;

其中 hand 是用户传入的参数,为保存一手牌的数组。 函数的返回值为这手牌的大牌点数。

裁判测试程序样例:

#include<stdio.h>

#define        MAX        110
int        getPoint(char hand[]) ;

int main()
{
    char    poker[MAX];
    int        n ;

    scanf( "%d" , &n) ;
    while ( n -- )//循环n次 
    {
        scanf( "%s" , poker ); //读入字符串 
        printf( "%d\n" , getPoint(poker) ); //输出 
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值