编辑代码

#include <stdio.h>
#include <stdlib.h> // 包含stdlib.h以使用rand()和srand()
#include <time.h>   // 包含time.h以使用time()

// 判断数值是否在数组中存在
bool contains(int array[], int size, int number) {
    for (int i = 0; i < size; ++i) {
        if (array[i] == number) {
            return true;
        }
    }
    return false;
}

int main() {
    int a, b, c = 0; // 初始化c为0
    // 定义数组大小
    const int size = 6;
    // 创建一个整数数组
    int array[size];
    // 填充数组
    int maxSize = 0;
    // 设置随机数种子
    srand(time(0));
    while(maxSize<6){
        // 生成1到6之间的随机数
        int sj = rand() % 6 + 1;
        // printf("随机数%d\n",sj);
        // 判断是否存在
        if(contains(array, size, sj)){
        } else {
            array[maxSize] = sj;
            maxSize++;
        }
    }
    // 打印随机数组
    printf("随机生成的名次:");
    for (int i = 0; i < size; ++i) {
      printf("%d ", array[i]);
    }
    printf("\n");
    
    printf("请输入您预测的名次,空格隔开!\n");
    printf("输入预测的名次:");
    for (b = 1; b <= 6; b++) {
       scanf("%d", &a);
       if (a == array[b - 1]) { // 数组索引从0开始,所以使用b-1
           c++;
       }
    }

    printf("成功预测");
    switch (c) {
        case 0:
            printf("Sorry! Unlucky!\n");
            break;
        case 1:
            printf("*\n");
            break;
        case 2:
            printf("**\n");
            break;
        case 3:
            printf("***\n");
            break;
        case 4:
            printf("****\n");
            break;
        case 5:
            printf("*****\n");
            break;
        case 6:
            printf("******\n");
            break;
    }
    return 0;
}