编写代码模拟三次密码输入的场景。要求:最多能输入三次密码,密码正确,提示“登录成功”, 密码错误,可以重新输入,最多输入三次,三次均错,则提示退出程序。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int Input_password(){
int i = 1;
for (i = 1; i <=3; i++){
printf("请输入密码\n");
printf("第 %d 次输入密码:",i);
char password_1[1024] = {0}, password_2[] = "123456";
scanf("%s", password_1);
if (strcmp(password_1, password_2) == 0){
printf("密码正确!!!\n");
break;
}
else{
printf("密码错误,请重新输入!!!\n");
}
system("pause");
system("cls");
}
if (i < 4){
printf("登录成功!!!\n");
}
else{
printf("登录失败!!!\n");
}
return 0;
}
int main()
{
Input_password();
system("pause");
return 0;
}
编写一个程序,可以一直接收键盘字符,如果是小写字符就输出对应的大写字符,如果接收的是大写字符,就输出对应的小写字符,如果是数字不输出。
#include<stdio.h>
#include<stdlib.h>
int main()
{
int i;
printf("请输入字符:");
while ((i = getchar()) != EOF) //字符不为空就获取,取到结束标志就停止
{
if (i >= 'a'&&i <= 'z')
putchar(i - 32);
else if (i >= 'A'&&i <= 'Z')
{
putchar(i + 32);
}
else if (i >= 0 && i <= 9){
putchar(NULL);
}
}
system("pause");
return 0;
}
写代码可以在整型有序数组中查找想要的数字,
找到了返回下标,找不到返回-1
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
int Find(int X, int Y, int i, int *p)
{
int cen = (X + Y) / 2;
while ((X <= Y) && (*(p + cen) != i))
{
mid = (X + Y) / 2;
{
if (*(p + cen)> i)
Y = cen - 1;
else if (*(p + cen) < i)
X = cen + 1;
else if (*(p + cen) == i)
return cen;
}
}
while ((X > Y) && (*(p + cen) != i))
{
return -1;
}
system("pause");
return 0;
}
int main()
{
int arr[10] = { 2,4,6,8,10,12,14 };
int a = 0;
int lift = 0;
int right = sizeof(arr) / sizeof(arr[0]);
printf("请输入要查找的数字:");
scanf("%d", &a);
while (Find(lift, right, a, arr) != -1)
{
printf("找到了,下标是%d\n", Find(lift, right, a, arr));
break;
}
while (Find(lift, right, a, arr) == -1)
{
printf("找不到\n");
break;
}
system("pause");
return 0;
}