C语言实战开始demo——猜数字游戏!

接下来的这个demo主要还是围绕随机数的产生与保存以及在产生前的排序(主要用的是冒泡排序)
以及对于位置和数字产生以及接下来猜测数字时如何做到对数字位置以及值的正确与否的把控。

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

int main(int argc, const char * argv[]) {
    int org[4] = {};//保存随机数
    int input[4] = {};//保存用户输入
    int aCount = 0;
    int bCount = 0;
    
    //播种子
    srand(time(NULL));
    //产生随机数
    for(int i = 0; i < 4; i++){
        int temp = rand()%9 + 1;
        
        if (i == 0) {
            //第一次 直接保存
            org[i] = temp;
        } else{
            //判断是否重复
            //i正好和当前已有个数对应
            int j = 0;
            for(; j < i; j++){
                if (temp == org[j]) {
                    //重复了
                    break;
                }
            }
            
            //判断for循环怎么出来的额
            if (i == j) {
                //不重复 保存
                org[i] = temp;
            }else{
                //重复了
                i--;
            }
        }
    }
    
    //排序 冒泡 选择 插入
    //冒泡排序
    for (int i = 0; i < 4-1; i++){
        for(int j = 0; j < 4 - i-1; j++){
            if (org[j] > org[j+1]) {
                int temp = org[j];
                org[j] = org[j+1];
                org[j+1] = temp;
            }
        }
    }
    
//    for(int i = 0; i < 4; i++){
//        printf("%d ", org[i]);
//    }
    
    //开始游戏
    while(1){
        //提示输入
        printf("请输入猜测的数字:");
        for (int i = 0; i < 4; i++) {
            scanf("%d", &input[i]);
        }
        
        //开始
        //1 5 8 9
        //1 2 3 5
        for (int i = 0; i < 4; i++) {
            for (int j = 0; j < 4; j++) {
                if (org[i] == input[j]) {
                    //数字存在 判断位置
                    if (i == j){
                        aCount++;
                    }else{
                        bCount++;
                    }
                }
            }
        }
        
        //提示用户结果
        printf("%dA%dB\n", aCount, bCount);
        
        //判断是否正确
        if( aCount == 4){
            printf("全对!!!!\n");
            break;
        }else{
            aCount = 0;
            bCount = 0;
        }
    }
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 目的: 学习用c语言写一个猜数字游戏的demo,练习使用c语言里的for,while循环,数组,排序方法等,加强对...
    yuan_hh阅读 657评论 0 0
  • 题目:随机生成不相同的、1-9之间的、从小到大排序的四个整数,让玩家输入四个猜测的数字,若玩家输入的数字大小相同且...
    DeathW阅读 807评论 0 0
  • 半清醒,半迷糊的躺在床上,期待着再次进入快速眼动状态的睡眠,前几天有,今天却没有。 听雨声沙沙响,突然...
    名棋阅读 270评论 0 0
  • 在民间中五光十色的菜样样美味,今天我来教大家做小鸡炖蘑菇是一道美味菜谱。小鸡炖蘑菇现在流传到东北至今有名的一道菜,...
    和你分享每一天阅读 763评论 0 6
  • 1.打开 app 的 build.gradle 文件 将apply plugin: 'com.android.ap...
    graychen阅读 211评论 0 0

友情链接更多精彩内容