2019-11-21Day5 C语言实战开发 智力游戏demo

getchar()是在终端接收一个字符
注意:当上一次有输入的情况下,必须将上一次缓冲区里面的内容清空
清空方式:
1:多加一个getchar(),拿走上一次的\n。
2:fflush(stdin); 刷新输入流,也就是清除缓冲区。
exit是在任何一种情况下都能退出程序,用之前必须导入一个头文件#include而return表示结束当前这个函数
exit(EXIT_SUCCESS);成功退出 exit(EXIT_FAILURE)错误退出
1 2 3 4
2s之后消失
输入:1 2 3 4
3 2 1 5 5
2s
输入: 3 2 1 5 5
猜对了就继续加,猜错了就停止
system("cls")可以用来刷屏
还有一个是导入#include然后输入Sleep(),()里面写时间,单位是毫秒,比如睡两秒 ,则Sleep(2*1000);
rand 当程序运行起来,系统自动产生一个种子,使用rand产生随机数之后,重新启动程序,再次使用rand,会发现种子是一样的。所以,只要种子一样,产生的随机数就一样,若需要每次重新运行都产生不一样的随机数,则需要更改种子,

#include 
#include 
#include 
#include 

int main(){
    int count = 3; //记录每次生成多少个随机数

    while(1){
        unsigned int seed = time(NULL); //1000
        
        //设置随机数的种子
        srand(seed); 
        for(int i = 0; i < count; i++){
            //生成一个随机数 
            int temp2 = rand() % 9 + 1;
            printf("%d ",temp2); 
        } 
        printf("\n");
    
        // 延时2s
        Sleep(2000);
        //for(int i = 0; i < 10000000000/15*2; i++);
    
        //刷新屏幕 
        system("cls");
        /*  mac 
        for(int i = 0; i < 20; i++){
            printf("\n");
        } 
        */ 
        int temp;
        printf("请输入:");
    
        //重新设种子和之前生成时的种子一样
        srand(seed);
     
        //接收用户输入 一个一个接收 
        // 1 2 3
        // 1 2 4
        for(int i = 0; i < count; i++){
            scanf("%d", &temp);
        
            //获取对应的生成的随机数
            int old = rand() % 9 + 1;
        
            //比较输入的和随机数是否相同 
            printf("old:%d\n", old);
            if (temp != old){
                printf("错误 退出!\n");
                exit(EXIT_SUCCESS); 
            } 
        }
    
    count++;
    }
    
    return 0;
}


你可能感兴趣的:(2019-11-21Day5 C语言实战开发 智力游戏demo)