定义结构之后该如何写呢

设计一个纸牌游戏,主要任务是有52张扑克牌,有四种花色。先打乱,正面向上,再给牌进行编号(1-52)。从第2张开始,以2为基数,编号是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后, 从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;再依次5的倍数的牌翻一次,6的,7的,...直到52的倍数的牌翻一次。然后把牌按花色分成四堆。输出四堆牌的最终正面和反面的情况。

  1. 打乱52张牌,打印出来(分成四行,每一张牌打印编号,点数和花色)
  2. 打印最终结果(分成四行,每一行一种花色,然后再打印编号,点数)

参考一下: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]
用随机数打乱排序
然后遍历,根据序号修改朝上还是朝下的状态,最后把根据花色打印