c语言做抽签程序
这不要元旦了嘛,特地给大家带来个福利,这次福利便是这个抽签代码。老规矩我们还是先来讲一讲这串代码
?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void test(int arr[], int s)? ? ? ? ? ? ? ? //子函数
{
?? ?if (s == 0)
?? ?{
?? ??? ?printf("所有选手均上场\n");? ? ? ? ?
?? ??? ?return;
?? ?}
?? ?int w = rand() % s;
?? ?int q = arr[w];
?? ?printf("请第%d号选手登场\n", q);? ? ? ? ? ? ? ? ? ? ? ? ??
?? ?arr[w] = arr[s - 1];? ? ? ? ? ? ? ?//每上场一个选手未上场的人数就减少一个,换成c语言的话就是每上场一个选手,原数组的长度就得减一
}
int main()? ? //主函数
{
?? ?int input = 0;
?? ?int arr[20];? ? ? ? ? ? //首先假设有二十个选手要参加该比赛如果不用数组就需要定义20个变量,而那样太麻烦,所以我们用数组包含这20个变量
?? ?int sz = 20;? ?//数组的长度
? srand((unsigned int)time(NULL));? ?//这个是上次猜数字游戏的一个必背代码
?? ?for (int i = 0; i <= 20; i++)? ?//选手从0个选手上场到20个选手全部上场
?? ?{
?? ??? ?arr[i] = i + 1;
?? ?}
?? ?do? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //上次猜数字的代码
?? ?{
?? ??? ?printf("请选择:>\n");
?? ??? ?scanf("%d", &input);? ?
?? ??? ?switch (input)
?? ??? ?{
?? ??? ?case 1:
?? ??? ??? ?test(arr,sz);
?? ??? ??? ?if (sz > 0)
?? ??? ??? ?{
?? ??? ??? ??? ?sz--;
?? ??? ??? ?}
?? ??? ??? ?break;
?? ??? ?case 0:
?? ??? ??? ?printf("退出\n");
? ? ? ? ? break;
?? ??? ?default:
?? ??? ??? ?printf("输入错误,请重新开始\n");
? ? ? ? ? break;
?? ??? ?}
?? ?} while (input);
?? ?return 0;
}
最后还是老规矩,进入咱们的知识点剖析环节
知识点剖析:此代码总体上涉及的知识点与猜数字游戏大体上相同,数组是唯一在上次的猜数字代码未出现的,如果有童鞋还是不太理解数组概念记得回去复习一下数组哦?
如果看懂了就快去尝试一下吧,如果还有疑问请在下方评论区留言
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!