C语言循环使用

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;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值