其他分享
首页 > 其他分享> > 数据结构(纸牌案例)

数据结构(纸牌案例)

作者:互联网

1.完成课堂上讲解的纸牌游戏案例编程。

纸牌游戏:编号为1-52张牌,正面向上,从第2张开始,以2为基数,是2的倍数的牌翻一次,直到最后一张牌;然后,从第3张开始,以3为基数,是3的倍数的牌翻一次,直到最后一张牌;然后…从第4张开始,以4为基数,是4的倍数的牌翻一次,直到最后一张牌;...再依次5的倍数的牌翻一次,6的,7的直到以52为基数的翻过,输出:这时正面向上的牌有哪些?

#include<stdio.h>
#include<math.h>
typedef struct
{
    int id[100];
    int side[100];
    int length;
} Set;
void cset(Set &s,int num[],int n)
{

    for(int i=1; i<n; i++)
    {
        s.id[i]=num[i];
        s.side[i]=1;
        s.length=n;
    }
}
void xset(Set st)
{
    for(int i=1; i<st.length; i++)
    {
        st.side[i]=0;
    }
    printf("正面朝上的牌有:");
    for(int i=1; i<=sqrt(52); i++)
    {

        printf(" %d",st.id[i*i]);
    }
}
int main()
{
    Set st;
    int num[52],i;
    for(i=1; i<=52; i++)
    {
        num[i]=i;
    }
    int n=52;
    cset(st,num,n);
    xset(st);
    return 0;
}

标签:include,纸牌,int,案例,Set,倍数,数据结构,基数
来源: https://blog.csdn.net/m0_52180541/article/details/120584105