函数程序练习 :::猜数字游戏啊之类的

1.猜数字游戏。

#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include

int Menu(){
    int choise;
    printf("******************\n");
    printf("**1.开始游戏******\n");
    printf("**0.游戏结束******\n");
    printf("******************\n");
    printf("**输入一个1-100的数\n");
    printf("******************\n");
    scanf("%d", &choise);
    return choise;
}

int Game() {
    //1.随机生成一个1-100的数字
    int to_guess = rand()%100+1;
    //2.用户根据提示输入一个数字
    int i = 0;
    while (1) {
        printf("请输入一个数字: \n");
        int num = 0;
        scanf("%d", &num);
        //3.拿输入的数字与生成的数字进行比较,得出结论
        if (num < to_guess) {
            printf("低了!\n");
        }
        else if (num>to_guess){
            printf("高了!\n");
        }
        else {
            printf("恭喜您,答对了!\n");
            break;
        }
    }
    return 0;
}

int main(){
    srand((unsigned int)time(0));
    
    while (1) {
        int choise=Menu();
        if (choise == 1){
            Game();
        }
        else if (choise == 0) {
            printf("Game over!\n");
            break;
        }
        else{
            printf("Wrong number!\n");
            break;
        }
    }

    system("pause");
    return 0;
}

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

 

#define _CRT_SECURE_NO_WARNINGS
#include
#include

int get(int arr[], int find, int size) {
    int left = 0;
    int right = size;
    int mid;
    while (left <= right) {
        mid = (left + right) / 2;
        if (find < arr[mid]){
            right = mid-1;
        }
        else if (find>arr[mid]) {
            left = mid + 1;
        }
        else{
            return mid;
            break;
        }
    }
    return -1;
}

int main(){
    int a[] = { 1, 2, 3, 4, 5, 6, 7 };
    int to_find = 8;
    int size = sizeof(a) / sizeof(a[0]) - 1;
    printf("%d\n", get(a, to_find, size));

    system("pause");
    return 0;
}

 

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

 

#define _CRT_SECURE_NO_WARNINGS
#include
#include

void password(char a[]){
    //1.输入密码
    //2.判断密码是否相等,遍历每一位数,
    int i = 0, j = 0;
    //如果设置成b[4]会产生错误 因为还有一个 '\0' 产生溢出
    char b[5] = { 0 };
    printf("请输入密码:\n");
    for ( i = 1; i <= 3; i++) {
        scanf("%s", b);
        for ( j = 0; j < 4; j++) {
            if (b[j] == a[j]){
                
            }
            else {
                break;
            }
        }
        if (j == 4){
            break;
        }
    }
    if (i < 3){
        printf("登陆成功!\n");
    }
    else{
        printf("密码错误!\n");
    }
}

int main(){
    char right[] = "1234";
    password(right);

    system("pause");
    return 0;
}

 

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

 

#define _CRT_SECURE_NO_WARNINGS
#include
#include

void circle() {
    printf("请输入一个字符\n");
    char x;

    scanf("%c", &x);
    while (getchar() != '\n');
    if (x <= 'z'&&x >= 'a') {
        printf("%c\n", x - 32);
    }
    else if (x<='Z'&&x>='A'){
        printf("%c\n", x + 32);
    }
    
}

int main(){
    while (1){
        circle();
    }

    system("pause");
    return 0;
}

 

你可能感兴趣的:(简单程序)