C语言练习
Posted Huang_ZhenSheng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言练习相关的知识,希望对你有一定的参考价值。
目录
5编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则提示登录成,如果三次均输入错误,则退出程序)
6猜数字游戏
7自动关机游戏
普通方式:
优化:这种方式的效率不高,虽然实现了阶乘求和,但是每次求阶乘都要从1开始乘。实际上n! = (n-1)! * n,例如3!=2! *3,由此可以对其进行优化,如下所示:
普通查找:遍历数组中所有的元素
实际上我们已经知道这是一个有序的数组,那么我们就可以根据数组的排序关系去找查找,下面利用二分查找法\\折半查找法查找,效率为log2n
二分查找
(只允许输入三次密码,如果密码正确则提示登录成,如果三次均输入错误,则退出程序)
strcmp字符串比较解析:
char string1[ ] = “abcdef”;
char string2[ ] = “abccqqqqqq”
strcmp(string1, string2)
使用strcmp在比较string1和string2的时候,从左到右依次比较每个字符,string1与string2前三个字符"abc"相同,string1的第四个字符为d string2第四个字符为c,d的ASCII码大于c的ASCII码,所以strcmp会判断string1 > string2 返回一个大于0的值。
6猜数字游戏
1电脑随机生成一个随机数
2猜数字
思路:
1进入游戏先打印菜单栏,提示是否进行猜数字游戏(1为是,0为否)
2首先要至少玩一次游戏(这里使用do while语句,只要不退出游戏就一直进行)
3使用switch语句对输入的内容进行判断
1 玩游戏 调用game函数进行猜数字游戏
0 打印 退出游戏
其他 打印 选择错误
菜单栏实现 menu函数
猜数字实现 先要生成一个随机数 比如1-100
1.先生成一个随机数 rand()
2.rand()是伪随机,在使用前要调用srand
3.为了让strand生成一个随机值,使用电脑时时刻刻都在变动的时间---时间戳
strand((unsigned int)time(NULL))//强制类型转换
4.为了产生1-100之间的随机数 我们让rand取模100+1
5.猜数字具体操作
(1)先提示输入数字
(2)判断输入数字和随机数之间的大小关系并给予提示
(3)猜对了之后退出本回合猜数字游戏
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
#include<windows.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("****************\\n");
printf("**** 1.play ****\\n");
printf("**** 0.play ****\\n");
printf("****************\\n");
}
void game()
{
//猜数字游戏的实现
//1.生成随机数
//rand函数返回了一个0-32767之间的数字
//时间戳
int ret = rand()%100 + 1;//%100的余数是0-99,然后+1,范围就是1-100;
//printf("%d\\n",ret);
//2.猜数字
int guess = 0;
while (1)
{
printf("请猜数字:>");
scanf("%d", &guess);
if (guess < ret)
{
printf("猜小了\\n");
}
else if (guess > ret)
{
printf("猜大了\\n");
}
else
{
printf("恭喜你,猜对了\\n");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));//使用电脑时时刻刻都在变动的时间--时间戳
do
{
menu();//进入游戏打印菜单栏,提示是否进行猜数字游戏
printf("请选择:>");
scanf("%d",&input);
//使用switch语句对输入的内容进行判断
switch (input)
{
case 1:
game();//玩游戏,调用game函数进行猜数字游戏
break;
case 0:
printf("退出游戏\\n");//打印 退出游戏
break;
default:
printf("选择错误,重新选择\\n");//其他 选择错误
break;
}
}while (input);
return 0;
}
7自动关机游戏
系统设置:shutdown -s -t 60 设置电脑在60s后自动关机
system("shutdown -s -t 60")//system()函数头文件为stdlib.h
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char input[20] = { 0 };
system("shutdown -s -t 60");
while (1)
{
printf("请注意,你的电脑将在一分钟内关机,如果输入:我是猪,就取消关机\\n");
scanf("%s", input);
if (strcmp(input, "我是猪") == 0)
{
system("shutdown -a");
break;
}
}
return 0;
}
以上是关于C语言练习的主要内容,如果未能解决你的问题,请参考以下文章