C语言编写一个点名系统
时间: 2023-11-13 13:03:31 浏览: 99
C#点名系统
好的,以下是一个简单的点名系统的 C 语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define MAX_STUDENTS 50
int main()
{
char students[MAX_STUDENTS][20];
int num_students, i, random_index;
char choice;
srand(time(NULL)); // 初始化随机数生成器
printf("请输入学生人数(最多%d人):", MAX_STUDENTS);
scanf("%d", &num_students);
if (num_students > MAX_STUDENTS) {
printf("输入的人数超过了最大值,程序退出!\n");
return 0;
}
printf("请依次输入每个学生的姓名:\n");
for (i = 0; i < num_students; i++) {
scanf("%s", students[i]);
}
while (1) {
printf("\n按任意键进行点名,按 q 退出程序:");
scanf(" %c", &choice);
if (choice == 'q') {
break;
}
random_index = rand() % num_students; // 生成随机数
printf("被点到的学生是:%s\n", students[random_index]);
}
return 0;
}
```
这个程序的执行流程如下:
1. 提示用户输入学生人数,限制最多 MAX_STUDENTS 人;
2. 依次提示用户输入每个学生的姓名,将它们保存在数组中;
3. 循环等待用户按任意键进行点名,或按 q 退出程序;
4. 每次点名时,生成一个随机数作为数组下标,输出对应的学生姓名。
需要注意的是,这个程序没有进行输入错误的检查,比如学生人数输入的是负数或非数字字符,或者学生姓名输入的长度超过了数组大小等情况。如果需要更严格的输入检查,可以在代码中添加相应的处理逻辑。
阅读全文