#include<stdio.h>
struct card
{
int no; //牌的序号
int zf; //牌的状态
}card[52];
void main()
{
int i,j;
printf("52张牌的原状态:/n");
for(i=1;i<=52;i++) //给每张牌确定初始序号和状态
{
card[i].no=i;
card[i].zf=0;
printf("%d(%d)/t",card[i].no,card[i].zf);
};
printf("/n/n/n");
printf("52张牌的末状态:/n");
for(j=2;j<=52;j++) {
for(i=2;i<=52;i++)
{ if(card[i].no%j==0)
card[i].zf++;
}
}
for(i=1;i<=52;i++)
printf("%d(%d)/t",card[i].no,card[i].zf);
printf("/n/n/n");
printf("所以:/n");
for(i=1;i<=52;i++)
if(card[i].zf%2==1)
printf("%d(反)/t",card[i].no);
else
printf("%d(正)/t",card[i].no);
printf("/n");
printf("这时正面向上的牌有:");
for(i=1;i<=52;i++)
{
if(card[i].zf%2==0)
printf("%d/n",card[i].no);};
printf("结束请按q!");
if(getchar()=='q') printf("再见");
else {while(1);};
}