| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 921 人关注过本帖
标题:石头剪子布的游戏,遇到问题,求解答。
取消只看楼主 加入收藏
编程小小员
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-11-10
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
石头剪子布的游戏,遇到问题,求解答。
不知道为什么只出现no winner,是不是我的rand函数用的不对?代码如下
#include   <stdlib.h>
#include   <stdio.h>
#include   <time.h>
int main(void)
{
       int a,b;
       time_t t;
       for(;;)                  
       {
           srand((unsigned) time(&t));
        printf( "0=石头,1=剪刀,2=布。 \n");
        scanf("%d",&a);
        b=rand()%3;
        if(b=0)
           {
              if(a=0)printf("no winner");
           else if(a=1)printf("you are lose");
           else if(a=2)printf("you are win");
           else printf("errors");
           }
        else if(b=1)
          {
             if(a=1)printf("no winner");
          else if(a=2)printf("you are lose");
          else if(a=0)printf("you are win");
          else printf("errors");
          }
        else if(b=2)
          {
             if(a=2)printf("no winner");
          else if(a=0)printf("you are lose");
          else if(a=1)printf("you are win");
          else printf("errors");
          }     
      
       }
       return 0;
}
搜索更多相关主题的帖子: 游戏 include 
2011-11-17 20:41
编程小小员
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-11-10
收藏
得分:0 
回复 2楼 cnfarer
问题还是没有解决,只出现no winner情况。
2011-11-17 20:56
编程小小员
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-11-10
收藏
得分:0 
回复 5楼 cnfarer
对哦!这么简单的问题都没有发现!谢谢版主了!
2011-11-17 21:01
编程小小员
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2011-11-10
收藏
得分:0 
石头剪子布搞定了!并且实现了可更改嬴的概率。非常感谢tony和cnfarer!

#include   
#include   
#include   
int main(void)
{
       int a,b,n=50,i=0,j=0,k=0,x=9527;       //输入9527进入更改系统
       int change(int n);
       time_t t;
       srand((unsigned) time(&t));
       end:;  
       printf("石头剪子布游戏!\n");
       for(;;)                  
       {
        printf( "0=石头,1=剪刀,2=布。 \n");      
        scanf("%d",&a);
        system("cls");
        b=rand()%130;
        if(a==x) {n=change(n);a=1;i=0;j=0;k=0;goto end;}   //goto end  当修改完后就可以回到游戏,从新开始!
        if(b>=0&&b<=n)
           {
           if(a==0){printf("石头 对 剪刀\nyou are win\n");k++;}
           else if(a==1){printf("剪刀 对 布\nyou are win\n");k++;}
           else if(a==2){printf("布 对 石头\nyou are win\n");k++;}
           else printf("输入有误,请重新输入\n\n");           
           }
           
        else if(b>=n+1&&b<=100)
          {
          if(a==1){printf("剪刀 对 石头\nyou are lose\n");j++;}
          else if(a==2){printf("布 对 剪刀\nyou are lose\n");j++;}
          else if(a==0){printf("石头 对 布\nyou are lose\n");j++;}
          else printf("输入有误,请重新输入\n\n");
          }
        else if(b>=101)
          {
          if(a==2){printf("布 对 布\nno winner\n");i++;}
          else if(a==0){printf("石头 对 石头\nno winner\n");i++;}
          else if(a==1){printf("剪刀 对 剪刀\nno winner\n");i++;}
          else printf("输入有误,请重新输入\n\n");
          }     
       printf("共嬴%d盘,共输%d盘,共和%d盘。\n\n\n",k,j,i);
       }
       return 0;
}

int change(int z)
{int a;
    system("cls");
    printf("请输入您要更改嬴的概率。(如赢的概率为70%%,则输入70即可)。\n");
    scanf("%d",&a);
    z=a;
    system("cls");
    return z;
}
2011-11-24 00:51
快速回复:石头剪子布的游戏,遇到问题,求解答。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019442 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved