1.猜数字游戏。
生成一个1-100内的随机数,进行猜测,猜大了,则提醒猜大了。猜小了,则提醒猜小了。猜对了则输出猜对了
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu(){
printf("*******************************\n");
printf("******* 1 开始游戏 *******\n");
printf("******* 0 结束游戏 *******\n");
printf("*******************************\n");
}
void game()
{
//1 首先要生成一个1-100内的随机数
int gusse_num = rand() % 100 - 1;
while (1){
//2 用户进行猜测
printf("请猜测一个数字;\n");
int gusse = 0;
scanf("%d", &gusse);
//3 对猜测数字进行比较
// 猜大了
if (gusse > gusse_num)
{
printf("猜大了\n");
}
//猜小了
if (gusse < gusse_num)
{
printf("猜小了\n");
}
//猜对了
if (gusse == gusse_num)
{
printf("猜对了\n");
break;
}
}
}
int main()
{
//rand函数调用的条件
srand((unsigned)time(NULL));
//这是一个猜数字的游戏
//1.首先,有一个菜单进行选择
menu();
//2.用户进行选择
printf("请选择;\n");
while (1){
int choose = 0;
scanf("%d", &choose);
// 选择1 开始游戏
if (choose == 1)
{
//开始游戏
game();
menu();
}
//结束游戏
else if (choose == 0)
{
printf("结束游戏\n");
break;
}
//输入错误
else
{
printf("输入错误,请重新输入;\n");
}
}
system("pause");
return 0;
}
2.写代码可以在整型有序数组中查找想要的数字,
找到了返回下标,找不到返回-1.(折半查找)
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int find(int arr[], int left, int right, int key)
{
//折半查找
int mid = 0;
while (left <= right)
{
mid = (left + right) / 2;
if (arr[mid] < key)
{
left = mid + 1;
}
else if (arr[mid] > key)
{
right = mid - 1;
}
else
{
return mid;
}
}
return -1;
}
int main()
{
/*
写代码可以在整型有序数组中查找想要的数字,
找到了返回下标,找不到返回 - 1.(折半查找)
*/
int arr[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int i = 0;
for (i = 0; i < 10; i++){
printf("%d ",arr[i]);
}
printf("\n");
printf("请输入要找的数\n");
int key = 0;
scanf("%d", &key);
int left = 0;
int right = 9;
//查找
int ret = find(arr, 0, 9, key);
if (ret)
{
printf("找到了,下标为%d\n", ret);
}
else
{
printf("没找到\n");
}
system("pause");
return 0;
}
3.编写代码模拟三次密码输入的场景。
最多能输入三次密码,密码正确,提示“登录成功”,密码错误,
可以重新输入,最多输入三次。三次均错,则提示退出程序。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
/*编写代码模拟三次密码输入的场景。
最多能输入三次密码,密码正确,提示“登录成功”, 密码错误,
可以重新输入,最多输入三次。三次均错,则提示退出程序。*/
//1 先设置一个密码
int password = 1234;
//2 用户输入密码,只有3次机会
int i = 0;
for (i = 1; i <= 3; i++)
{
//开始输入密码
printf("请输入密码:\n");
int psword = 0;
scanf("%d", &psword);
if (psword == password)
{
printf("密码正确\n");
break;
}
else
{
printf("密码错误,请重新输入\n");
}
}
if (i == 4)
{
printf("密码以错误3次,退出程序\n");
}
system("pause");
return 0;
}
4.编写一个程序,可以一直接收键盘字符,
如果是小写字符就输出对应的大写字符,
如果接收的是大写字符,就输出对应的小写字符,
如果是数字不输出。
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main()
{
/*编写一个程序,可以一直接收键盘字符,
如果是小写字符就输出对应的大写字符,
如果接收的是大写字符,就输出对应的小写字符,
如果是数字不输出。*/
printf("请输入一个字符\n");
while(1){
char input = 0;
scanf("%c", &input);
if (input >= 'a' &&input <= 'z')
{
//把小写换成大写
printf("%c\n", input - 32);
continue;
}
if (input >= 'A'&& input <= 'Z')
{
//把大写换成小写
printf("%c\n", input + 32);
continue;
}
if (input >= '0'&&input <= '9')
{
continue;
}
}
system("pause");
return 0;
}