一、实现功能:
终端从三位数开始输出随机数,停留两秒后消失等待用户输入,若用户输入与终端输出一致,则再加一位数,不一致退出程序
二、用到知识点:
1、随机数的产生即保持一致
rand()方法生成随机数(导入#include<stdlib.h>头文件)
srand(seed):seed控制生成的随机数是否相同
2、时间记录
srand(time(NULL)):time(NULL)记录时间,得到当前具体的时间值的毫秒值在系统中
需要导入#include<time.h>头文件
3、延时的表示
windows系统:Sleep(2000);
mac系统:for(int i = 0; i < 10000000000 / 15 * 2; i++) ;
4、刷新屏幕
Windows系统:
system("cls");
mac系统:
for(int i=0;i<20;i++){
printf("\n");
}
5、程序退出方式:
(1)return:结束当前函数/方法,而不是结束应用程
(2)exit:需要导入头文件<stdlib.h> 直接退出程序
(3)EXIT_SUCCESS:正常退出
(4)EXIT_FAILURE:非正常退出
(5)正常退出reurn 0,非正常退出return 1
6、跳出循环:
(1)break:跳出整个循环
(2)continue:停止当前循环,开始选一次循环
三、具体代码实现:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#include<windows.h>
int main(){
int count = 3;//记录每次生成多少个随机数
while(1){
unsigned int seed = time(NULL);
//time(NULL)):得到当前具体的时间值的毫秒值在系统中
//设置随机数的种子
srand(time(NULL));
//每次seed相同产生的随机数就相同
for(int i = 0; i < count; i ++){
//生成一个随机数
int temp = rand() % 9 + 1;
printf("%d ",temp);
}
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);
//接受用户的输入,一个一个接收
for(int i = 0; i < count; i++){
scanf("%d", &temp);
//获取对应生成的随机数
int old = rand() % 9 + 1;
//比较输入的和随机数是否相同
if(temp != old){
printf("错误 退出!");
exit(EXIT_SUCCESS);
}
}
count ++;
}
return 0;
}
四、感悟:
知识点了解全面、逻辑框架有整体思考后再开始写代码
注意:有的函数内部实现不需要深究,只需要知道使用方法和实现的功能










网友评论