日常练习

1.完成猜数字游戏。

//完成猜字谜游戏
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
void Menu() { 
//打印菜单
    printf("*****************************\n");
    printf("*****  欢迎进入猜字谜游戏  *****\n");
    printf("*****************************\n");
    printf("****    1:开始游戏        ****\n");
    printf("****    0:退出游戏        ****\n");
    printf("*****************************\n");
}

int main(int argc, const char * argv[]){
    Menu();//显示游戏菜单
    int i = 0;//设置一个变量来选择游戏菜单
    printf("请选择:");
    scanf("%d",&i);//设置循环只要a不为0,程序始终运行当变量a为1时,为0退出程序
    if(i == 1){
        int s = 0;
        srand((unsigned)time(NULL));
        s = rand() % 101;
        while (1){
            int b = 0;
            printf("请输入您猜测的数字\n");
            scanf("%d",&b);
            //通过猜测值与系统随机值比较,做出正确的回馈
            if ( b < s)  {
                printf("您输入的值比较小\n");

            }
            if ( b > s){
                printf("您输入的值比较大\n");
            }
            if ( b ==s){
                printf("恭喜您,您猜对了");
                break;     //猜测正确时跳出循环
            }
        }
    }
    if(i == 0){
        printf("退出游戏");
    }
    system("pause");
}

2.写代码可以在整型有序数组中查找想要的数字,
找到了返回下标,找不到返回-1.(折半查找)


#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main(int argc, const char * argv[]){
    int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
    int k = 0; // 要找的数字
    printf("请输入想要寻到的数字:\n");
    scanf("%d",&k);
    int left = arr[0];
    int right = sizeof(arr) / sizeof(arr[0]) - 1;
    while (left<=right){
        int mid = left + (right - left) / 2;
        if (arr[mid] == k){
            printf("找到了,下标为:%d\n",mid);
            break;
        }else if (arr[mid] <= k){
            left = mid + 1;
        }else{
            right = mid - 1;
        }
    }
    if (left > right){
        printf("没有找到\n");
    }
    system("pause");
    return 0;
}

3.编写代码模拟三次密码输入的场景。
最多能输入三次密码,密码正确,提示“登录成功”,密码错误,
可以重新输入,最多输入三次。三次均错,则提示退出程序。

//3.编写代码模拟三次密码输入的场景。
//最多能输入三次密码,密码正确,提示“登录成功”,密码错误,
//可以重新输入,最多输入三次。三次均错,则提示退出程序。



#include <stdio.h>
#include <string.h>
int main(int argc, const char * argv[]){
    char password[10] = { 0 };//定义一个数组来存放密码,此时的密码是个字符串
    int i = 0;
    for (i = 0; i < 3; i++){//通过循环来让s判断输入密码的正确性
        printf("请输入密码\n");
        scanf("%s", password);
        if (0 == strcmp(password, "123456")){//判断字符串是否相等不能用等号比较
            printf("登录成功\n");//strcmp函数用来比较两个字符串常量,或比较数组和字符串常量,不能比较数字等其他形式的参数。
            break;
        }else{
            printf("密码错误,请重新输入\n");
        }
    }
    //程序走到这里有两种情况,一种是登录成功,另一种是输入三次密码登录失败,根据题意,这里要给出三次均错的提示。
    if (3 == i){
        printf("登录失败\n");
    }
    return 0;
}

4.编写一个程序,可以一直接收键盘字符,
如果是小写字符就输出对应的大写字符,
如果接收的是大写字符,就输出对应的小写字符,
如果是数字不输出。

//4.编写一个程序,可以一直接收键盘字符,
//如果是小写字符就输出对应的大写字符,
//如果接收的是大写字符,就输出对应的小写字符,
//如果是数字不输出。
#include <stdio.h>


int main(int argc, const char * argv[]){

    int input;
    while((input=getchar())!=EOF){
        //EOF,快捷键control+z;
        //判断是不是大写
        if(input >= 'A'&&input <= 'Z'){
            //把大写转换为小写
            putchar(input + 32);
        }//判断是不是小写
        else if(input >= 'a'&&input >= 'z'){
        //把小写转换为大写
            putchar(input-32);
        }
    }
    return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值