首页 > 代码库 > 猜数字游戏

猜数字游戏

#include<stdio.h>
#include<time.h>
int main(void){
    
      int systemNum[4];
      int userNum[4];
      int i,j,c=0;
    
      
  /*do{
              srand(time(NULL));
               for(i=0;i<4;i++){
                 systemNum[i]=rand()%9+0;
            }
      }while(systemNum[0]==systemNum[1]||systemNum[0]==systemNum[2]||systemNum[0]==systemNum[3]||
             systemNum[1]==systemNum[2]||systemNum[1]==systemNum[3]||systemNum[2]==systemNum[3]);
      */
      printf("由系统随机生成一个不同的四位数,例如(1234),然后由用户输入四个不同的数字,如果输入的数字 与系统生成的数字相同并且位置相同 用 A 表示,如果数字相同位置不同用B表示,例如输入(1245)结果显示:2A1B  给用户10次输入的机会。 4A程序结束");
      while(1){
        srand(time(NULL));
          for(i=0;i<4;i++){
           systemNum[i]=rand()%9+0;    
        }
        
        int count=0;
        
        for(i=0;i<4;i++){
            int j;
            for(j=i+1;j<4;j++){
                
              if(systemNum[i]==systemNum[j]){
                 
                 count++;
              }
                
            }
        }
        
        if(count==0){
            break;
        }
        
    }
      
      
      
       
        for(i=0;i<4;i++){
             //    printf("%d ",systemNum[i]);
           }
        printf("\n");
        
        int countNum=0;
 
         while(1){
              int countA=0;
               int countB=0;    
        do{
             //system("cls");
             printf("第%d次输入四个不同的数字(0-9):",countNum+1);
              for(i=0;i<4;i++){
                 scanf("%d",&userNum[i]);    
                 }
                 
               if(userNum[0]==userNum[1]||userNum[0]==userNum[2]||userNum[0]==userNum[3]||
             userNum[1]==userNum[2]||userNum[1]==userNum[3]||userNum[2]==userNum[3]){
                 printf("sb 不能输入重复的数字");
              }
              //getch();  
                 
        }while(userNum[0]==userNum[1]||userNum[0]==userNum[2]||userNum[0]==userNum[3]||
             userNum[1]==userNum[2]||userNum[1]==userNum[3]||userNum[2]==userNum[3]);
               
                 
            //系统每个数都于用户输入的每一个数比较,所以循环4次
            for(i=0;i<4;i++){
                  //系统的每一个数字分别与用户输入的数字挨个比较
                for(j=0;j<4;j++){
                       if(systemNum[i]==userNum[j]){
                               if(i==j){
                                   countA++;
                               }else{
                                   countB++;
                                  }
                         }
                  }
            }
        
      
              printf("%dA%dB\n",countA,countB);
            
            if(countA==4){
                printf("恭喜你,猜对了!");
                break;
            }else{
                countNum++;
            }
            
            if(countNum==10){
                int b;
               printf("你的十次机会用完啦 \n   请按1继续  请按其他键结束  \n");
               scanf("%d",&b);
               if(b==1){
                   system("cls");
                   countNum=0;
                   continue;
               } else{
                   break;
               }
            }
           
         }  

getch ();
    return 0;
    
}

猜数字游戏