您的位置:首页 > 编程语言

0基础学编程之猜数字游戏,折半二分查找,模拟输入密码及大小写互换

2018-03-29 22:20 465 查看
1.完成猜数字游戏。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void menu()
{
printf("*****************\n");
printf("*****************\n");
printf("***1.PLAY GAME***\n");
printf("***0.EXIT GAME***\n");
printf("*****************\n");
printf("*****************\n");
}
void game()
{
/*生成随机数*/
int ret = 0;
int num = 0;
ret = rand()%100;
while(1)
{
printf("请猜数字:>>");
scanf("%d", &num);
if(num < ret)
{
printf("猜小了");
}
else if(num > ret)
{
printf("猜大了");
}
else 
{
printf("恭喜你,猜对了");
break;
}
}
}
int main()
{
int input = 0;
srand((unsigned int)time(NULL));
do
{
menu;
printf("请选择:>>");
scanf("%d", &input);
switch(input)
{
case 1:
game();
   break;
case 0:
printf("退出游戏\n");
break;
default:
printf("选择错误\n");
}
}while(input);
return 0;
}
2.写代码可以在整型有序数组中查找想要的数字,找到了返回下标,找不到返回-1.(折半查找)
#include<stdio.h>
int main()
{
int n=0;
int arr[]={0,1,2,3,4,5,6,7,8};
int left = 0;
int sz = sizeof(arr)/sizeof(arr[0]);
int right = sz-1;
printf("请输入要查找的数字:\n");
scanf("%d", &n);
while(left <= right)
{
int mid=left+(right-left)/2;
if(arr[mid] == n)
{
printf("找到了%d: ", mid);
   break;
}
else if(arr[mid] < n)
{
left = mid+1;
}
else 
{
right = mid-1;
}
}
if(left > right)
{
printf("-1");
}

}
3.编写代码模拟三次密码输入的场景。
最多能输入三次密码,密码正确,提示“登录成功”,密码错误,可以重新输入,最多输入三次。三次均错,则提示退出程序。
#include<stdio.h>
int main()
{
char password[20]={0};
int i=0;
for(i=0; i<3; i++)
{
printf("请输入密码:");
scanf("%s", password);
if(strcmp(password,"123456") == 0)
{
printf("登陆成功!\n");
break;
}
else
{
printf("密码错误,请重新输入\n");
}
}
if(i==3)
{
printf("三次输入错误,退出程序!\n");
}
return 0;
}
4.编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。 
#include<stdio.h>
#include<stdlib.h>
int main()
{
char a=0;
while(a!=EOF)
{
printf("请输入一个字母\n");
fflush(stdin);
scanf("%c", &a);

if((a>='A')&&(a<='Z'))
{
a+=32;
   printf("%c\n", a);
}
else if((a>='a')&&(a<='z'))
{
a-=32;
   printf("%c\n", a);
}
else
{
printf("");
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐