1. 完成猜数字游戏
//猜数字游戏
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void Game() {
int toGuess = rand() % 100 + 1; //生成一个随机数
while (1) {
printf("请输入一个整数(1-100):");
int num = 0;
scanf("%d", &num);
if (num < toGuess) {
printf("猜低了!\n");
}
else if (num > toGuess) {
printf("猜高了!\n");
}
else if (num == toGuess) {
printf("恭喜你!猜对啦!\n");
break;
}
}
}
int menu() {
printf("********猜数字********\n"); //与用户交互
printf("1. 开始游戏\n");
printf("0. 退出程序\n");
printf("请输入您的选择: ");
int choice = 0;
scanf("%d", &choice);
return choice;
}
int main() {
srand((unsigned int) time(0)); //选择时间生成随机数 这样随机性更高
while (1) { //unsigned int >> 强制类型转换
int choice = menu();
if (choice == 1) {
Game();
}
else {
printf("再见!\n");
break;
}
}
system("pause");
}
2.写代码可以在整型有序数组中查找想要的数字,
找到了返回下标,找不到返回-1.(折半查找)
//在整型有序数组中查找想要的数字,找到了返回下标,找不到返回 - 1.(折半查找)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main() {
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
printf("请输入想要查找的数字: ");
int i = 0;
scanf("%d", &i);
int left = arr[0];
int right = arr[9];
while(left <= right) {
int mid = (left + right) / 2;
if (arr[mid] == i) {
printf("恭喜你,找到啦!下标是:%d\n",mid);
break;
}
else if (arr[mid] <= i) {
left = mid + 1;
}
else {
right = mid - 1;
}
}
if (right < left) { //判断是否找到,防止重复打印-1
printf("-1\n");
}
system("pause");
return 0;
}
3.编写代码模拟三次密码输入的场景。
最多能输入三次密码,密码正确,提示“登录成功”,密码错误,
可以重新输入,最多输入三次。三次均错,则提示退出程序
//编写代码模拟三次密码输入的场景
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main() {
int password = 123456; //设定密码
int i = 0;
for ( i = 0; i < 3; i++) { //可以尝试三次
printf("请输入密码:");
int try = 0;
scanf("%d", &try);
if (try == password) {
printf("登陆成功!\n");
break; //输入正确则跳出循环
}
else {
if (i < 2) { //判断是否为第三次输错
printf("输入错误,请重试!\n");
}
}
}
if (i == 3) {
printf("您已输入错误三次,程序强制退出!\n");
}
system("pause");
return 0;
}
4. 编写一个程序,可以一直接收键盘字符,
如果是小写字符就输出对应的大写字符,
如果接收的是大写字符,就输出对应的小写字符,
如果是数字不输出
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
void main() {
printf("请输入一个字符(大小写字母或数字):");
char ch ;
while (1) {
scanf("%c", &ch);
if ((65 <= ch) && (ch < 91)) {
ch += 32;
printf("%c\n", ch);
}
else if ((97 <= ch) && (ch < 123)) {
ch -= 32;
printf("%c\n", ch);
}
else if ((48 <= ch) && (ch < 58));
}
system("pause");
}