1.写代码可以在整型有序数组中查找想要的数字, 找到了返回下标,找不到返回-1.(折半查找)
2.编写代码模拟三次密码输入的场景。 最多能输入三次密码,密码正确,提示“登录成功”,密码错误, 可以重新输入,最多输入三次。三次均错,则提示退出程序。
3.编写一个程序,可以一直接收键盘字符, 如果是小写字符就输出对应的大写字符, 如果接收的是大写字符,就输出对应的小写字符, 如果是数字不输出。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void password(){
int i = 0;
for (; i < 3; i++){
printf("输入密码:\n");
char b[9] = {0};
scanf("%s",b);
if ((strcmp(b,"qazwsxed")) == 0){
printf("登录成功\n");
break;
}
else{
printf("错误\n");
}
}
if (i == 3){
printf("退出程序\n");
}
}
void search(){
int a[10] = {11,12,13,14,15,16,17,18,19,20};
int flag,count,left=0,right=(sizeof(a)/sizeof(int))-1;
printf("输入查询的数:\n");
scanf("%d", &flag);
while (left <= right){
int middle = (left + right) / 2;
if (flag == a[middle]){
printf("find!下标为%d\n",(left+right)/2);
break;
}
else if (flag < a[middle]){
right = middle-1;
}
else{
left=middle+1;
}
}
if (left>right){
printf("error\n");
return -1;
}
}
void change(){
char a;
while (1){
a = getchar();
if (a >= 'a'&&a <= 'z'){
a = a - 32;
putchar(a);
}
else if (a >= 'A'&&a <= 'Z'){
a= a + 32;
putchar(a);
}
if (a == ' '){
break;
}
}
}
int main(){
password();
search();
change();
system("pause");
return 0;
}