设计一个纸牌游戏,主要任务是有52张扑克牌,有四种花色。先打乱,正面向上,再给牌进行编号(1-52)。从第2张开始,以2为基数,编号是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后, 从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;再依次5的倍数的牌翻一次,6的,7的,...直到52的倍数的牌翻一次。然后把牌按花色分成四堆。输出四堆牌的最终正面和反面的情况。
参考一下:https://blog.csdn.net/m0_45816418/article/details/108718102
如果对你有帮助,可以点击我这个回答右上方的【采纳】按钮,给我个采纳吗,谢谢
/* Note:Your choice is C IDE */
#include<stdio.h>
#include<stdlib.h>
void fun(int a[]){
int i;
int j;
int flag=0;
int num = 0;
for(i=0;i<13;i++){
flag = 1;
while(flag){
num = (rand() % 54) +1;
for(j=0;j<i;j++){
if(num == a[j]){
break;
}
}
if(j==i){
flag=0;
a[i] = num;
}
}
}
}
void main()
{
/*
假设1~54分别代表54张牌对应的数字
*/
int i;
int a[13];
fun(a);
for(i=0;i<13;i++)
printf("%d\t",a[i]);
}
定义牌结构数组,包括花色,点数,和朝上还是朝下的状态,puke[52]
用随机数打乱排序
然后遍历,根据序号修改朝上还是朝下的状态,最后把根据花色打印