加上宿舍不能超过四个人的代码#include "head.h" #include "stdio.h" #include "string.h" int SearchByroom(struct student stu[],int n,int value) { int left = 0, right = n - 1; while (left <= right) { int mid = (left + right) / 2; if (stu[mid].room == value) { return mid; } else if (stu[mid].room > value) { right = mid-1; } else { left = mid+1; } } return -1; }
时间: 2024-02-14 10:13:03 浏览: 88
抱歉,我可能误解了你的问题。我之前给出的代码示例是用来判断宿舍人数是否符合要求的,而不是用来搜索学生信息的。以下是一个简单的 C 代码示例,用来搜索宿舍人数是否超过了四个:
```c
#include <stdio.h>
#include <string.h>
struct student {
char name[20];
int age;
int room;
};
int search_by_room(struct student stu[], int n, int value) {
int count = 0;
for (int i = 0; i < n; i++) {
if (stu[i].room == value) {
count++;
}
}
return count;
}
int main() {
struct student stu[100];
int n, room_num;
printf("请输入学生数量:");
scanf("%d", &n);
for (int i = 0; i < n; i++) {
printf("请输入第%d个学生的姓名、年龄、宿舍号:", i + 1);
scanf("%s %d %d", stu[i].name, &stu[i].age, &stu[i].room);
}
printf("请输入要查询的宿舍号:");
scanf("%d", &room_num);
int count = search_by_room(stu, n, room_num);
if (count <= 4) {
printf("宿舍人数符合要求!\n");
} else {
printf("宿舍人数超过了四个,请注意!\n");
}
return 0;
}
```
这个程序会要求用户输入学生数量和每个学生的姓名、年龄和宿舍号。然后,用户输入要查询的宿舍号,程序会搜索该宿舍中有多少名学生,并判断是否超过了四个人。如果超过了四个人,程序会输出相应的提示信息。
阅读全文