数据结构(纸牌案例)
作者:互联网
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