c 20210706

#include<stdio.h>
#include<string.h>//因为引用了strlen,scanf,strcmy函数
#include<windows.h>//因为引用了sleep函数
#include<stdlib.h>//因为引用了 system
int main()
{
int i = 0;
char password[20] = { 0 };
for (i = 1; i <= 3; i++)
{
printf("请输入密码\n");
scanf("%s", &password);
if (strcmp(password,"123456")==0)//双等号不能判断两个字符串是否相等,应该用库函数strcmp
{
printf("登陆成功\n");
break;
}
else
{
printf("密码输入错误\n");
}
}
if (4 == i)
{
printf("输入密码错误次数达到3次,退出程序\n");
}
return 0;
}
//int main()
//{
// char arr1[] = {"Welcome to bit!!!!!!"};//后面还有一个隐形‘/0‘
// char arr2[] = {"####################"};
// int left = 0;
// //int right = sizeof(arr1) / sizeof(arr1[0]-2);//0和 ‘0‘所以减2
// int right = strlen(arr1) - 1;
// while (right>=left)
// {
//
// arr2[left] = arr1[left];
// left++;
// arr2[right] = arr1[right];
// right--;
// printf("%s\n", arr2);
// Sleep (1000);//单位毫秒
// system("cls");
// }
// printf("%s\n", arr2);
// return 0;
//}
//int main()
//{
// int arr[] = {1,2,3,4,5,6,7,8,9,10};
// int k = 11;
// //int k = 7;
// int sz = sizeof(arr)/sizeof(arr[0]);
// int left = 0;//左下标
// int right = sz - 1;//右下标
// while (left<=right)
// {
// int mid = (left + right) / 2;//二分查找法
// if (arr[mid] > k)
// {
// right = mid - 1;
// }
// else if (arr[mid] < k)
// {
// left = mid + 1;
// }
// else
// {
// printf("找到了,下标是:%d\n", mid);
// break;
// }
// }
// if (left>right)
// {
// printf("找不到\n");
// }
// return 0;
//}
//int main()
//{
// int arr[] = {1,2,3,4,5,6,7,8,9,10};
// int k = 7;
// int i = 0;
// int sz = sizeof(arr) / sizeof(arr[0]);
// for (i = 0; i < sz; i++)
// {
// if (k == arr[i])
// {
// printf("找到了,下标是%d\n", i);
// break;
// }
// }
// if (i == sz)
// printf("找不到\n");
// return 0;
//}
//int main()
//{
// int n = 0;
// int ret = 1;
// int sum = 0;
// for (n = 1; n <= 3; n++)
// {
// ret = ret*n;
// sum = sum + ret;
//
// }
// printf("sum=%d\n", sum);
// return 0;
//}
////int main()
//{
// int i = 0;
// int n = 0;
// int ret = 1;
// int sum = 0;
// for (n = 1; n <= 3; n++)
// {
// ret = 1;
// for (i = 1; i <= n; i++)
// {
//
// ret = ret*i;
// }
// sum = sum + ret;
//
// }
// printf("sum=%d\n", sum);
// return 0;
//}
//int main()
//{
// int i = 0;
// int n=0;
// int ret = 1;
// scanf("%d", &n);
// for (i=1; i<=n;i++)
// {
// ret = ret*i;
// }
// printf("ret=%d\n", ret);
// return 0;
//}
//int main()
//{
// int i = 1;
// do
// {
// if (5 == i)
// continue;
//break;
// printf("%d\n", i);
// i++;
// }
// while (i <= 10);// do whlie 上来就是干,至少循环一次
// return 0;
//}
//int main()
//{
// int i = 0;
// int k = 0;
// for (i = 0, k = 0; k = 0; i++, k++)//k=0 赋值,0为假,所以不进入循环
// k++;
/*int x, y;
for (x = 0, y = 0; x < 2 && y < 5; ++x, y++)
{
printf("hehe\n");
}*/
// return 0;
//}
//int main()
//{
// int i = 0;
// int j = 0;
// for (; i < 10; i++)
// {
// for (; j < 10; j++)//这里省略了初始化条件j=0
// {
// printf("hehe\n");//由于循环后j=10没有被销毁,现在只能输出10个hehe,原本输出100个
// }
// }
// return 0;
//}
//int main()
//{
// int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
// int i = 0;
// for (i = 0; i < 10; i++)//不要随便省略判断条件,会进入死循环
// {
// printf("%d\n", arr[i]);
// }
// return 0;
//}
//int main()
//{
// int i = 0;
// for (i = 1; i <= 10; i++)
// {
// if (5 == i)
// continue;//不会像while一样死循环
// //break;
// printf("%d\n",i);//1~4 && 6~10
// }
// return 0;
//}
//int main()
//{
// int ch = 0;
// while ((ch = getchar()) != EOF)
// {
// if (ch<‘0‘ || ch>‘9‘)
// continue;
// putchar(ch);//打印0 ~ 9
// }
// return 0;
//}
//int main()
//{
// int ret = 0;
// int ch = 0;
// char password[20] = { 0 };
// printf("请输入密码:>");//123456 abcd
// scanf("%s",password);//数组不用取地址符
//缓冲区还剩一个 \n
//读取一下\n
// while((ch=getchar())!=‘\n‘);
// printf("请确认(Y/N):>");
// ret = getchar();// Y / N
// if (‘Y‘==ret)
// {
// printf("确认成功\n");
// }
// else
// {
// printf("确认失败\n");
// }
// return 0;
//}

c 20210706

上一篇:ABC210 D - National Railway


下一篇:从源码角度谈谈open_files_limit的生成逻辑及"Too many open files"的解决思路