⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 b0226078_c6.c

📁 有多个程序, 传销, 取火柴, 二的N次方等
💻 C
字号:
#include<conio.h>
#include<stdio.h>
int count=1;/*取火柴的次数 */
/*int failure=0;*/
/*int win=0;*/
void rule()
{
    /*  clrscr();*/
    printf("\t-------------------\n");
    printf("\t-    取火柴游戏   -\n");
    printf("\t- Wrinting by crl -\n");
    printf("\t-------------------\n");
    printf("游戏规则:\n");
    printf("\t===========================================\n");
    printf("\t*有一堆火柴,两人轮流取,一人一次可取1根或2根*\n\t*或3根,最后剩下的火柴谁取得,谁就获胜!*\n\t===========================================\n");
	printf("\n说明:\t\002\002 如果能连续胜5次,你将有意外的惊喜!!\002\002\n");
    
}
int select_menu()
{
    int s;
    do{
    printf("\n选择菜单:\n");
    printf("\t------------\n");
    printf("\t1.计算机先取\n");
    printf("\t2.玩家先取\n");
    printf("\t------------\n");
    printf("请确定谁先取:(1 or 2):\t");
    scanf("%d",&s);
        }while(s!=1&&s!=2);
    return s;
}

int f1(int pass)
{
	int ra;
	do
	{
		ra=(int)(rand()%4);
	}while(ra<=0||ra>3);
    if(pass%4==0){
        printf("\n第%d次 计算机取火柴:\t** %d",count,ra);
        pass=pass-ra;
		printf("\t\t还剩下……%d根火柴\n",pass);
            }
    else{
        printf("\n第%d次 计算机取火柴:\t** %d",count,pass%4);
        pass=pass-pass%4;
		printf("\t\t还剩下……%d根\n",pass);
            }
    ++count;
    return pass;
}

int f2(int pass)
{
    int fetch;
    do
    {
    printf("\n第%d次 请玩家取火柴:\t",count);
    scanf("%d",&fetch);
    if(fetch>0&&fetch<4&&fetch<=pass) break;
        }while(1);
    pass=pass-fetch;
    ++count;
    return pass;
}

void main()
{
    
    char c;
    int flag;
    int match_num;
    int time=0;
    int remainder;
    int failure=0;
    int win=0;
    rule();
    do
    {
    count=1;
    time++;
    printf("\n\t#第%d局……\n",time);
    flag=select_menu();
    do
	{
	printf("\n请输入火柴的数目(大于20):\t");
	scanf("%d",&match_num);
	}while(match_num<=20);
    remainder=match_num;
    if(flag==1)
    {
        while(1)
    	{
            remainder=f1(remainder);
            if(remainder==0) 
    		{
                printf("\n\t\001计算机胜!\001\n");
                failure++;
            	break;
    		}
            remainder=f2(remainder);
            if(remainder==0) 
    		{
                printf("\n\t\001Oh,你真棒!!\001\n");
            	win++;
            	break;
    		}
    		
    	}
    }
    else 
    {
        while(1)
    	{
            remainder=f2(remainder);
            if(remainder==0) 
    		{
                printf("\n\t\001Oh,你真棒!!\001\n");
            	win++;
            	break;
    		}
            remainder=f1(remainder);
            if(remainder==0) 
    		{
                printf("\n\001计算机胜\001\n");
                failure++;
            	break;
    		}
    		
    	}
    }
	printf("\n--------------------------------------------------------------------------------\n");
    printf("统计:\t总局数:%d\t胜:%d局\t败:%d局\t得分:%0.1f",win+failure,win,failure,(float)win/(float)(win+failure)*100);
	printf("\n--------------------------------------------------------------------------------\n");
	if(win==5&&(float)win/(float)(win+failure)*100==100.0) break;
    do{
    /*  clrscr();*/
    getchar();
    printf("\n你还要继续吗?(Y/N?)……");
    c=getchar();
    getchar();
    }while(!(c=='Y'||c=='y'||c=='N'||c=='n'));
    }while(c=='Y'||c=='y');
   if(win==5&&(float)win/(float)(win+failure)*100==100.0) printf("哈哈……\n你被骗了!什么也没有啦!!\n\002 \002 \0002 \002 \002");
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -