青衣 发表于 2021-7-19 15:17:26

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 = { 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-2);//0和 '0'所以减2
//    int right = strlen(arr1) - 1;
//    while (right>=left)
//    {
//
//        arr2 = arr1;
//        left++;
//        arr2 = arr1;
//        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);
//    int left = 0;//左下标
//    int right = sz - 1;//右下标
//    while (left<=right)
//    {
//        int mid = (left + right) / 2;//二分查找法
//        if (arr > k)
//        {
//            right = mid - 1;
//        }
//        else if (arr < 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);
//    for (i = 0; i < sz; i++)
//    {
//        if (k == arr)
//        {
//            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 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
//    int i = 0;
//    for (i = 0; i < 10; i++)//不要随便省略判断条件,会进入死循环
//    {
//        printf("%d\n", arr);
//    }
//    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 = { 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;
//}


文档来源:51CTO技术博客https://blog.51cto.com/u_15288442/3124648
页: [1]
查看完整版本: c 20210706