for循环,这种情况,break跳出循环,直接打印0123;记录一下
2、实现左右增加字符,如下图所示,要想到用数组,左右增加变量,再加入延迟,sleep的头文件是#<windows.h>.
%s是字符串,记不住的话在搜索一下即可。
增加systen("cls"); 实现清空屏幕的效果~~
3、编写代码>模拟用户登录情景,只能登录三次。(只允许输入三次密码,密码正确则提示登录成,如果三次均输入错误,则退出程序);
遇到了新的知识点,strcmp函数,比较两个字符串大小,头文件是#include<string> ;
password 和123456 不用取地址,因为数组就有地址,、比较的的ASCLL码值,从左到右一次比较,那个数值大,就那串数值大
猜数字游戏的实现;
//猜数字游戏
//1,自动产生一个1-100的随机数;
//2、猜数字
// a,对了 ,游戏结束
// b\猜错了,会告诉你猜大了还是猜小了,然后继续猜,直到猜对
//3,游戏一个一直玩,除非退出游戏
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("*****************************\n");
printf("********** 1 .play *******\n");
printf("********** 0.exit *******\n");
printf("*****************************\n");
printf("*****************************\n");
}
void game()
{
int guess=0;
int ret = rand()%100+1;//去摸100,然后+1.就是1-100了 666
//printf("%d\n", ret);
//2.猜数字
while (1)
{
printf("请猜数字:>");
scanf("%d", &guess);
if (ret > guess)
{
printf("猜xiao了\n");
}
else if (ret < guess)
{
printf("猜大了\n");
}
else if (ret = guess)
{
printf("666,猜对了\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));//time函数的返回值强转成 unsigned int类型
do
{
menu();//打印菜单
printf("请选择:>");
scanf("%d", &input);
switch (input)//根据input选的值做判断
{
case 1:
game();
break;
case 0:
printf("退出游戏");
break;
default :
printf("选择错误,重新选择\n");
break;
}
} while (input);//刚好 0 跳出,1和5为真再来一次;
return 0;
}
实现如下图:
解析:
1,得有随机数吧;
① 但是取到的随机数不够“随机”,要引入time函数,时间戳
放到main函数里面 ,时间戳是取到的随机数
② 生成随机数 rand; 头文件是 #include<stdlib.h>
int ret = rand()%100+1;//去摸100,然后+1.就是1-100了 666
直接把随机数赋值给ret, 取100的摸,在+1,便是0-100的数了;
生成随机数后要比较大小,引入一个变量,和随机数比较,打印即可。