C语言学习自记录4

1.完成猜数字游戏。

2.写代码可以在整型有序数组中查找想要的数字,
找到了返回下标,找不到返回-1.(折半查找)

3.编写代码模拟三次密码输入的场景。
最多能输入三次密码,密码正确,提示“登录成功”,密码错误,
可以重新输入,最多输入三次。三次均错,则提示退出程序。

4.编写一个程序,可以一直接收键盘字符,
如果是小写字符就输出对应的大写字符,
如果接收的是大写字符,就输出对应的小写字符,
如果是数字不输出。

1.#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void menu(){ 
	printf("*************************\n");
	printf("1:开始游戏\n");
	printf("0:太简单了,不想玩\n");
	printf("*************************\n");
}
void game(){
	int rand_number = rand() % 200 + 1;//生成随机数;
	int num;
	while (1){
		printf("请输入你猜的数字\n");
		scanf("%d", &num);
		// 与随机数进行比较;
		if (num < rand_number){
			printf("低了\n");
		}
		else if (num>rand_number){
			printf("高了\n");
		}
		else{
			printf("恭喜你猜对了\n");
			break;
		}
	}
}
int main(){
	srand((unsigned int)time(0));//时间戳,使得每次生成的随机数不一样;
	int input;
	do{
		menu();
		scanf("%d", &input);
		switch (input){
		case 1:
			game();
			break;
		case 0:
			break;
		default:
			printf("你的输入有误\n");
			break;
		}
	} while (input);	
	system("pause");
	return 0;
}
2.#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>


int main(){
	int arr[6] = {1,2,3,4,5,6};
	int size = sizeof(arr) / sizeof(arr[0]);//数组长度;
	int left = 0;
	int right = size - 1;
	int found;
	int mid;
	printf("查找的数字\n");
	scanf("%d\n", &found);
	while (left <= right){//保证查找区间;
		mid = (left + right) / 2;
		if (arr[mid] > found){
			right = mid;
		}
		else if (arr[mid] < found){
			left = mid;
		}
		else
			break;
	}
	if (left <= right){ //查找区间有效
		printf("找到了\n", arr[mid]);
	}
	else{
		printf("未找到\n");
	}
	system("pause");
	return 0;
}
3.#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(){
	int key = 1115;//正确密码
	int num;
	int input;
	for (num = 0; num < 3; num++){
		printf("请输入密码\n");
		scanf("%d", &input);
		if (key == input){
			printf("密码正确\n");
			break;
		}
		else{
			printf("密码错误,请重新输入\n");
		}
	}
	system("pause");
	return 0;
}
4.#define  _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main(){
	char arr[6];
	int i;
	printf("请输入\n");
	scanf("%s", arr);
	for (i = 0; i < 6; ++i){
		if (arr[i] >= 'a'&& arr[i] <= 'z'){  //判断是否为小写,并转换为大写;
			arr[i] -= 32;
		}
		else if (arr[i] >= 'A'&& arr[i] <= 'Z'){ //判断是否为大写,并转换为小写;
			arr[i] += 32;
		}
		}
	printf("%s\n", arr);
	system("pause");
	return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值