写一个c语言程序 实现一个班里面57个人随机选出3个人一个小组的程序
时间: 2024-09-06 14:02:23 浏览: 48
你可以使用C语言的数组、随机数生成以及循环结构来实现这个简单的班级分组程序。下面是一个基本的示例,假设我们创建了一个包含57名学生编号的整型数组:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h> // 需要头文件用于获取当前时间
#define NUM_OF_STUDENTS 57
#define GROUP_SIZE 3
void selectGroup(int students[], int group[]) {
srand(time(0)); // 设置随机数种子
for (int i = 0; i < GROUP_SIZE; i++) {
int index = rand() % NUM_OF_STUDENTS; // 随机选择一个学生编号
if (i == 0 || students[index] != group[i - 1]) { // 如果不是第一个成员或已选过,则添加
group[i] = students[index];
printf("第%d位同学:%d\n", i+1, group[i]); // 打印已选的同学
students[index] = -1; // 标记该位置已被选中
}
}
}
int main() {
int students[NUM_OF_STUDENTS]; // 初始化学生数组
// 假设students数组已填充了1到57的学生编号
int group[GROUP_SIZE]; // 初始化小组数组
selectGroup(students, group);
printf("\n小组成员:\n");
for (int i = 0; i < GROUP_SIZE; i++) {
if (group[i] != -1) {
printf("%d ", group[i]);
} else {
printf("(空位)\n");
}
}
return 0;
}
```
在这个例子中,我们首先初始化学生数组,然后通过`selectGroup`函数随机选择并标记出小组成员。最后,打印出小组内的学生编号。