作业5

1.完成猜数字游戏。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <time.h>
void menu()
{
 int i;
 printf("--------------\n");
 printf("开始游戏 1\n");
 printf("退出游戏 0\n");
 printf("--------------\n");
 printf("请输入0或1:");
 scanf("%d", &i);
}
void game()
{
 srand((unsigned int)time(0));
 int num = rand() % 100 + 1;
 while (1)
 {
  int a;
  printf("请输入您猜的数字:");
  scanf("%d", &a);
  if (a > num)
  {
   printf("大了\n");
  }
  if (a < num)
  {
   printf("小了\n");
  }
  if (a == num)
  {
   printf("正确\n");
   break;
  }
 }
}
int main()
{
 menu();
 game();
 system("pause");
 return 0;
}

2.写代码可以在整型有序数组中查找想要的数字,

找到了返回下标,找不到返回-1.(折半查找)

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
 int a;
 printf("请输入想要查找的数字:");
 scanf("%d", &a);
 int arr[] = { 3,6,9,24,27,29,36 };
 int lengh = sizeof(arr) / sizeof(arr[1])-1;
 int right = lengh;
 int left = 0;
 for (;;)
 {
  int mid = (left + right)/2;
  if (a == arr[mid])
  {
   printf("找到这个数字,其数组下标为:%d\n", mid);
   break;
  }
  else if (a > arr[mid])
  {
   left = mid+1;
  }
  else
  {
   right = mid-1;
  }
  if (left > right)
  {
   return -1;
  }
 }
 system("pause");
 return 0;
 }

3.编写代码模拟三次密码输入的场景。

最多能输入三次密码,密码正确,提示“登录成功”,密码错误,

可以重新输入,最多输入三次。三次均错,则提示退出程序。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
void menu()
{
 int a;
 printf("--------------------\n");
 printf("-------1.登录账户----\n");
 printf("-------0.退出系统----\n");
 printf("--------------------\n");
 printf("请输入你的选择:");
 scanf("%d", &a);
 char password[500] = {0};
 if (a == 1)
 {
  for (int i = 1; i < 4; i++)
  {
   printf("请输入密码:");
   scanf("%s", password);
   if (strcmp(password, "qwerty") == 0)
   {
    printf("登录成功!\n");
    break;
   }
   if (i == 3)
   {
    printf("输入密码超过三次,禁止登录!\n");
   }
  }
 }
 else if (a == 0)
 {
  printf("退出成功\n");
 }
 else
 {
  printf("您的输入有误!\n");
 }
}
int main()
{
 menu();
 system("pause");
 return 0;
}

4.编写一个程序,可以一直接收键盘字符,

如果是小写字符就输出对应的大写字符,

如果接收的是大写字符,就输出对应的小写字符,

如果是数字不输出。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main()
{
 printf("请输入字符:");
 while (1)
 {
  char a = getchar();
  if (a <= 'Z'&&a >= 'A')
  {
   printf("%c", a + 32);
  }
  else if(a <= 'z'&&a >= 'a')
  {
   printf("%c", a - 32);
  }
  else if (a <= '9'&&a >= '0');
  {
   continue;
  }
  if (a = '#')
  {
   break;
  }
 }
 system("pause");
 return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值