c语言做抽签程序(重置版)

这不要元旦了嘛,特地给大家带来个福利,这次福利便是这个抽签代码。老规矩我们还是先来讲一讲这串代码
 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
void DrawLots(int arr[],int sz)
{
    if (sz == 0)
    {
        printf("所有学生均背诵\n");
        return;
    }
          int x = rand() % sz;
          int n = arr[x];
          printf("请第%d号同学背诵\n", n);
          arr[x] = arr[sz - 1];
}
void menu()
{
    printf("*********************************\n");
    printf("*********** 1.start *************\n");
    printf("********** 0.escape *************\n");
    printf("*********************************\n");
}
int main()
{
    int input = 0;
    int person = 0;
    printf("请输入人数>:\n");//首先要固定人数
    scanf("%d", &person);
    int arr[100] = { 0 };
    for (int a = 0; a<= person; a++)//用循环输入元素
    {
            arr[a] = a + 1;
    }    
    int sz = person;
    srand((unsigned int)time(NULL));
    do {
        menu();
        printf("请选择>;\n");
        scanf("%d", &input);
        switch (input)
        {
        case 1:
            DrawLots(arr, sz);
            if (sz > 0)
                sz--;
            break;
        case 0:
            printf("escape\n");
            break;
        default:
            printf("输入错误,请重新输入\n");
            break;
        }
    } while (input);
    return 0;
}

最后还是老规矩,进入咱们的知识点剖析环节

代码要点:先确定人数,循环保存数组元素。注意:此次的人数不再是常量,因此数组arr[ ](中括号)内的无法确定,但我们可以确定的是最大的元素容量并且初始化,再用循环往数组里保存元素

此代码总体上涉及的知识点与猜数字游戏大体上相同,数组是唯一在上次的猜数字代码未出现的,如果有童鞋还是不太理解数组概念记得回去复习一下数组哦 

如果看懂了就快去尝试一下吧,如果还有疑问请在下方评论区留言

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值