C语言表示扑克牌的四种花色黑桃、红桃、梅花、方块,使用数字1、2、3......13表示牌的大小,输入字母与数字的组合后,请输出相应的扑克牌
时间: 2024-11-03 17:23:58 浏览: 11
在C语言中,你可以使用结构体来表示扑克牌,并通过switch-case语句来处理用户输入的不同花色和点数。首先,创建一个名为`Card`的结构体:
```c
typedef enum {
SPADE = 0,
HEART,
DIAMOND,
CLUB
} Suit;
typedef struct {
Suit suit; // 花色
int rank; // 点数
} Card;
```
然后编写一个函数来打印出牌的信息:
```c
void print_card(Card card) {
switch (card.suit) {
case SPADE:
printf("黑桃");
break;
case HEART:
printf("红桃");
break;
case DIAMOND:
printf("梅花");
break;
case CLUB:
printf("方块");
break;
}
printf("%d", card.rank);
}
```
最后,你可以创建一个main函数来接受用户的输入并调用上述函数:
```c
int main() {
char suit_input[2];
scanf("%s%d", suit_input, &card.rank); // 接收输入
Suit suit;
if (strcmp(suit_input, "S") == 0) {
suit = SPADE;
} else if (strcmp(suit_input, "H") == 0) {
suit = HEART;
} else if (strcmp(suit_input, "D") == 0) {
suit = DIAMOND;
} else if (strcmp(suit_input, "C") == 0) {
suit = CLUB;
} else {
printf("无效的花色输入!");
return 1;
}
Card card = {suit, card.rank};
print_card(card);
return 0;
}
```
当用户输入例如"S3"或"Heart7"这样的格式时,程序会解析并打印出对应的扑克牌。
阅读全文