1.完成猜数字游戏。
2.写代码可以在整型有序数组中查找想要的数字,
找到了返回下标,找不到返回-1.(折半查找)
3.编写代码模拟三次密码输入的场景。
最多能输入三次密码,密码正确,提示“登录成功”,密码错误,
可以重新输入,最多输入三次。三次均错,则提示退出程序。
4.编写一个程序,可以一直接收键盘字符,
如果是小写字符就输出对应的大写字符,
如果接收的是大写字符,就输出对应的小写字符,
如果是数字不输出。
代码1.
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void Game();
void meuns(){
printf("===================\n");
printf("=====请输入选择====\n");
printf("1.开始游戏\n");
printf("2.结束游戏\n");
int choice=0;
while (1)
{
scanf("%d", &choice);
if (choice == 1)
{
Game();
}
else if (choice == 2)
{
printf("good bye\n");
return;
}
if (choice != 1 || choice != 2)
{
printf("输入有误3\n");
}
}
}
void Game() {
srand((unsigned int) time(0));//改变时间种子
int Random_Numb = rand() % 100 + 1;//生成1到100的随机数
printf("请输入所猜的数字;\n");
int temp ,time=0;
while (1)
{
scanf("%d", &temp);
if (temp == Random_Numb)
{
time++;
printf("猜对了,一共猜了%d次\n", time);
return;
}
if (temp > Random_Numb)
{
printf("猜大了\n");
++time;
}
if(temp<Random_Numb)
{
printf("猜小了\n");
++time;
}
}
}
int main() {
meuns();
system("pause");
return 0;
}
#if 0
生成随机数 rand() 头文件 <stdilb.h>
www.cplusplus.com/ C文档库
返回的值为 0 到 RAND_MAX(根据库不同值不同 一般32767)
每次生成的随机数的序列都相同, 伪随机
可以改变随机种子的值从而改变随机值 通过srand改变 可以如代码中的写法
srand(0);随机种子给值给常数的话 生成的随机种子值还是相同
计算机时间戳 long int time_t 从1970年1月1号0点0分作为基准时刻
结束于
#endif
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
int arr[] = { 1,2,3,4,5,6,7,8,9 };
int right = sizeof(arr)/sizeof(int);
int left=0;
int middle;
int find;
scanf("%d", &find);
while (1)
{
middle = (left + right) / 2;
if (find == arr[middle]) //比较是否相同
{
printf("%d", middle);
break;
}
if (left == middle) //检测是否已经到了容量为2的区间
{
if (arr[right] == find)
{
printf("%d", right);
}
else
{
printf("没有这个数\n");
break;
}
}
if (arr[middle]>find) //下来的两个if改变左右区间
{
right = middle;
}
if (arr[middle] < find)
{
left = middle;
}
if (left == right)
{
printf("没有找到\n");
break;
}
}
system("pause");
return 0;
}
#if 0
用二分查找 将数组左右用数字表示起来找中间值,依次比较
值得注意的是如果最后一个区间值为2,那么得检测右值,不然会出现死循环
#endif
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
int main() {
char password[30] = {0};
printf("请输入密码:\n");
int i;
for ( i = 1; i <= 3; i++)
{
scanf("%s", password);
if (0==strcmp(password, "1365460736")) //strcmp函数用于比较两个字符串 相同返回0;
{
break;
}
else
{
printf("密码错误重新输入,还剩%d次机会\n",3-i);
}
}
if (i >= 4)
{
printf("登录失败\n");
}
if (i < 4)
{
printf("登陆成功\n");
}
system("pause");
return 0;
}
#include<stdio.h>
int main()
{
while (1)
{
printf("请输入所要转换的字母\n");
char ch = getchar();
if(ch>=97&&ch<=122)
printf("%c\n",ch-32 );
if(ch>=65&&ch<=90)
printf("%c\n", ch + 32);
}
return 0;
}