欢迎使用优快云-markdown编辑器

本文介绍了一个使用C语言实现的简易版石头剪刀布游戏程序。该程序提供了三种游戏模式:无尽模式、五局三胜及三局两胜,并通过命令行界面与玩家互动。文章展示了完整的源代码,包括游戏逻辑、用户输入处理和结果展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#include <stdlib.h>

/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int menu(void);
int Mode(int); 
//int score(void);
int main(int argc, char *argv[]) {

     menu();
    return 0;
}


int menu(void){
    system("cls");
    int a=0;
    printf("                                  \n");
    printf("**********************************\n");
    printf("                                  \n");
    printf("                                  \n");
    printf("           1.无尽模式             \n");
    printf("           2.五局三胜             \n");
    printf("           3.三局两胜             \n");
    printf("                                 \n");
    printf("                                  \n");
    printf("                                  \n"); 
    printf("                                  \n");
    printf("           请输入选项:           \n");
    printf("**********************************\n");
    printf("                                  \n");

    scanf("%d",&a);
    printf("%d",a);
    switch(a){
        case 1:
            {   
                Mode(1);
                break;
            }
        case 2:Mode(2);break;
        case 3:Mode(3);break;
        default : 
            printf("请输入数字1/2/3\n"); 
            menu();
            break;  
    //  case 4:score(4);break; 

    }
    return 0; 
}

int Mode(int mode){

    system("cls");
    int i=0;
    int Mode=0;
    int player_2,player_1;
    int win=0,fail=0,count=0;
    char str[3][6]={"剪刀","石头","布"};
    char player1[6]="";
    char player2[6]="";
    if(mode==2)
    {
        Mode=5;
        printf("五局三胜\n\n\n");
    } 
    if(mode==3)
    {
        Mode=3;
        printf("三局两胜\n\n\n");
    } 

    //printf("Mode是%d,%d\n",Mode,mode);
    printf("请选择:1.剪刀  2.石头  3.布  0.返回菜单\n\n");
    scanf("%d",&i); 
    //printf("%d",i);
    player_1=i-1;
    player_2=rand()%3;
    //printf("%d",player_2);
    strcpy(player1,str[player_1]);  
    strcpy(player2,str[player_2]);  
    printf("电脑:%s\n",player2);
    printf("自己:%s\n",player1);


    while(i!=0){

    if(strcmp(player1, player2) == 0)
        {
            printf("平局\n");
            printf("_________________________________\n\n");
            count++;
        }   

    if(player_1==0){
        if(player_2==1){
            printf("输了~\n");
            printf("_________________________________\n\n");
            count++;
            fail++;
        }else if(player_2==2){
            count++;
            win++;
            printf("胜利+1\n"); 
            printf("_________________________________\n\n");
        }
    }
    if(player_1==1){
        if(player_2==0){
            printf("胜利+1\n");
            printf("_________________________________\n\n");
            count++;
            win++;

        }else if(player_2==2){
            printf("输了~\n");
            printf("_________________________________\n\n");
            count++;
            fail++;
        }

    } 
    if(player_1==2){
        if(player_2==0){
            printf("输了~\n");
            printf("_________________________________\n\n");
            count++;
            fail++;
        }else if(player_2==1){
            printf("胜利+1\n");
            printf("_________________________________\n\n");
            count++;
            win++;
        }

    } 

    if(mode!=1){
        if(count==Mode&&win>fail){
            printf("**********************************\n");
            printf("                                  \n");
            printf("恭喜你赢了!\n");
            printf("你赢了%d局\n电脑赢了%d局\n平局:%d\n",win,fail,Mode-win-fail);
            printf("                                  \n");
            printf("**********************************\n");


            count=0;
            win=0;
            fail=0;

        }
        if(count==Mode&&win<fail){
            printf("**********************************\n");
            printf("                                  \n");
            printf("很遗憾你输了!\n");
            printf("你赢了%d局\n电脑赢了%d局\n平局:%d\n",win,fail,Mode-win-fail);
            printf("                                  \n");
            printf("**********************************\n");

            count=0;
            win=0;
            fail=0;

        }
                if(count==Mode&&win==fail){
            printf("**********************************\n");
            printf("                                  \n");
            printf("平局!!\n");
            printf("你赢了%d局\n电脑赢了%d局\n平局:%d\n",win,fail,Mode-win-fail);
            printf("                                  \n");
            printf("**********************************\n");

            count=0;
            win=0;
            fail=0;

        }

    }


    do{
        printf("\n请选择:1.剪刀  2.石头  3.布  0.返回菜单\n\n");
        scanf("%d",&i);     
    }while(i!=1&&i!=2&&i!=3&&i!=0);

    player_1=i-1;
    player_2=rand()%3;
    strcpy(player1,str[player_1]);  
    strcpy(player2,str[player_2]); 
    printf("自己:%s\n",player1); 
    printf("电脑:%s\n",player2);


//  printf("对手:%d\n",player_2);
//  printf("自己:%d\n",player_1);
}


menu();
return 0;
}
内容概要:本文介绍了基于Python实现的SSA-GRU(麻雀搜索算法优化门控循环单元)时间序列预测项目。项目旨在通过结合SSA的全局搜索能力和GRU的时序信息处理能力,提升时间序列预测的精度和效率。文中详细描述了项目的背景、目标、挑战及解决方案,涵盖了从数据预处理到模型训练、优化及评估的全流程。SSA用于优化GRU的超参数,如隐藏层单元数、学习率等,以解决传统方法难以捕捉复杂非线性关系的问题。项目还提供了具体的代码示例,包括GRU模型的定义、训练和验证过程,以及SSA的种群初始化、迭代更新策略和适应度评估函数。; 适合人群:具备一定编程基础,特别是对时间序列预测和深度学习有一定了解的研究人员和技术开发者。; 使用场景及目标:①提高时间序列预测的精度和效率,适用于金融市场分析、气象预报、工业设备故障诊断等领域;②解决传统方法难以捕捉复杂非线性关系的问题;③通过自动化参数优化,减少人工干预,提升模型开发效率;④增强模型在不同数据集和未知环境中的泛化能力。; 阅读建议:由于项目涉及深度学习和智能优化算法的结合,建议读者在阅读过程中结合代码示例进行实践,理解SSA和GRU的工作原理及其在时间序列预测中的具体应用。同时,关注数据预处理、模型训练和优化的每个步骤,以确保对整个流程有全面的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值