1.完成猜数字游戏。
#include <stdio.h>
#include <Windows.h>
#include <time.h>
//1.完成猜数字游戏。
int main() {
int input = 0;
srand((unsigned)time(NULL));
do {
menu();
printf("请选择!\n");
scanf_s("%d", &input);
switch (input) {
case 1:
game();
break;
case 0:
break;
default:
printf("选择错误,请重新选择:\n");
break;
}
} while (input);
return 0;
system("pause");
}
int menu() {
printf("**********************************\n");
printf("*********** 1.play **********\n");
printf("*********** 0.exit **********\n");
printf("**********************************\n");
return 1;
}
int game() {
int random_num = rand() % 100 + 1; //生成随机数
int input = 0;
while (1) {
printf("请输入要猜的整数!\n");
scanf_s("%d\n", &input);
if (input > random_num) {
printf("猜大了!\n");
printf("请重新输入:\n");
}
else if (input < random_num) {
printf("猜小了!\n");
printf("请重新输入:\n");
}
else {
printf("恭喜您猜对了!\n");
break;
}
}
return 1;
}
2.
写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
#include <stdio.h>
#include <Windows.h>
int search(int arr[], int key, int left, int right)//查找函数
{
while (left <= right)
{
int mid = (right - left) / 2;
if (arr[mid] > key)
right = mid--;
else if (arr[mid] < key)
left = mid++;
else
{
return mid;
}
}
return -1;
}
int main() {
int arr[] = { 1,2,3,4,5,6,7,8,9,10 };
int key = 7;
int left = 0;
int right = sizeof(arr) / sizeof(arr[0]) - 1;
int myReturn = search(arr, key, left, right);
if (myReturn == -1)
{
printf("没有此项\n");
}
else
{
printf("目标在下标为:%d\n", myReturn);
}
system("pause");
return 0;
}
3.设置密码,登录三次失败后,不能登录
char ps[32];
int i = 0;
for (; i < 3; i++) {
printf("Enter Pssword <%d times>", 3 - i);
scanf_s("%s", ps);
if (strcmp(ps, "ILOVEYOU") == 0) {
printf("Login Success!\n");
break;
}
}
if (i >= 3) {
printf("Login Fialed! Try 30 sceond!\n");
}
4.
.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
int ch = 0;
printf("请输入一个字符:\n");
while ((ch = getchar()) != EOF)
{
if (ch >= '0' && ch <= '9')
;
else if (ch >= 'A' && ch <= 'Z')
putchar(ch + 32);
else if (ch >= 'a' && ch <= 'z')
putchar(ch - 32);
}