c语言 石头剪刀布问题

c语言 石头剪刀布问题,第1张

首先,语法上,“人” 和  “电脑”的判断的if的地方,都有点问题,都是使用 单个=号,应该是2个等于号。。。。。

然后,result计算 在computer赋值之前。。。。。。。

int main()

{

while(1)

{

printf(" 您正在进入剪刀石头布游戏\n");

printf(" *** 作说明:\n");

printf(" 1-剪刀 2-石头 3-布 4-退出\n");

char Song,Com;

int w=0,l=0,p=0;

srand(time(NULL));

printf(" 请出招:\n");

scanf("%d",&Song);

if( Song == 4)

break;

printf(" 决战开始\n");

switch(Song)

{

case '1':printf("剪刀 VS ");break;

case '2':printf("石头 VS ");break;

case '3':printf("布 VS ");break;

}

Com=rand()%3+1;

switch(Com)

{

case '1':printf("剪刀"); break;

case '2':printf("石头");break;

case '3':printf("布");break;

}

switch(Song-Com)

{

case 0:printf("平手!\n");p++;break;

case -1:

case 2:printf("你赢了!\n");w++;break;

case 1:

case -2:printf("你输了!\n");l++; break;

}

printf("共游戏%d\n",w+l+p);

printf("胜利:%d\n",w);

printf("失败:%d\n",l);

printf("平局:%d\n",p);

}

return 0;

}

#include<stdioh>

#include<stdlibh>

#include<timeh>

int main()

{

    int i = 3,a;

    char man;

    printf("输入A代表“剪刀”,B代表“石头”,C代表“布”\n");

    printf("电脑用1代表“剪刀”,2代表“石头”,3代表“布”\n");

    printf("输入格式:你输入的拳头是:");

    scanf("%c",&man);

    srand((int)time(NULL));//用时间来获取随机数种子,产生不同的种子(如果没有这句,电脑只会出相同的种子,也就只会出一个拳头)

    a = rand() % i + 1;//rand()会获得一个0~RAND_MAX之间的整数(基于上面获得的随机数种子),对其取余数可以获得固定范围的一个数值这里取0~2,+1之后是1~3。

    switch (a) {

        case 1:

            printf("输出格式:电脑出了剪刀\n");

            break;

        case 2:

            printf("输出格式:电脑出了石头\n");

            break;

        case 3:

            printf("输出格式:电脑出了布\n");

            break;

        default:

            printf("电脑出问题了233\n");

            break;

    }

    switch (man) {

        case 'A':

            printf("你出了剪刀\n");

            switch (a) {

                case 1:

                    printf("平局\n");

                    break;

                case 2:

                    printf("电脑赢了\n");

                    break;

                case 3:

                    printf("你赢了\n");

                    break;

                default:

                    printf("我傻了你信么233\n");

                    break;

            }

            break;

        case 'B':

            printf("你出了石头\n");

            switch (a) {

                case 1:

                    printf("你赢了\n");

                    break;

                case 2:

                    printf("平局\n");

                    break;

                case 3:

                    printf("电脑赢了\n");

                    break;

                default:

                    printf("我傻了你信么233\n");

                    break;

            }

            break;

        case 'C':

            printf("你出了布\n");

            switch (a) {

                case 1:

                    printf("电脑赢了\n");

                    break;

                case 2:

                    printf("你赢了\n");

                    break;

                case 3:

                    printf("平局\n");

                    break;

                default:

                    printf("我傻了你信么233\n");

                    break;

            }

            break;

        default:

            printf("你出问题啦~请输入ABC\n");

            break;

    }

    printf("不用客气哦~\n");

}

这个太简单了吧 石头、剪子、布 实际上不就是 a b c嘛 a>b b>c c>a//scanf()接收2个字母 ,放在变量 no1 和 no2里面if(no1=='a'&&no2==b)//第一个是a输出第一个大if(no1=='a'&&no2==‘a’)//一样大if(no1=='a'&&no2==‘c‘)//第二个大。。。。把条件都列出来 OK

这个可以啊,我改了下,你运行一下

#include <stdioh>

#include <conioh>

#include <stdlibh>

#include <timeh>

void printMenu(void)

{

printf("1-石头 2-剪刀 3-布 4-退出\n");

}

int main(void)

{

char ch,Computer;

int win=0,lose=0,he=0;

int flag=0;

srand(time(NULL));

printMenu();

while(1)

{

printf("您的选择(1、2、3):");

while(1)

{

ch = getch();

if(ch=='1'||ch=='2'||ch=='3'||ch=='4')

{

printf("%c\t",ch);

break;

}

}

if(ch=='4')

break;

switch(ch)

{

case '1': printf("石头 VS ");break;

case '2': printf("剪刀 VS ");break;

case '3': printf("布 VS ");break;

}

Computer = rand()%3+1+48;

switch(Computer)

{

case '1': printf("石头");break;

case '2': printf("剪刀");break;

case '3': printf("布");break;

}

switch(ch-Computer)

{

case 0: printf("\t平手!\n"); he++; break;

case -1: case 2: printf("\t你赢了!\n"); win++; break;

case 1: case -2: printf("\t你输了!\n"); lose++; break;

}

if(win>=2)

{

printf("这场比赛你赢了,恭喜你\n");

break;

}

else if(lose>=2)

{

printf("很遗憾,这场比赛你输了\n");

break;

}

}

printf("\n您一共玩了%d次。\n",win+lose+he);

printf("胜利:%d 次\n",win);

printf("失败:%d 次\n",lose);

printf("平手:%d 次\n",he);

return 0;

}

以上就是关于c语言 石头剪刀布问题全部的内容,包括:c语言 石头剪刀布问题、C语言石头剪刀布如何循环继续游戏、C语言编写程序:和电脑剪刀石头布 怎么让电脑随机输出数字1、2、3 怎么最后输出“石头”“剪刀”“布”等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9392855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存