**要求使用结构体数组(包含学生班级,学生成绩,学生名字),冒泡排序与二分查找法,在排序后利用二分查找法找到目标学生成绩
**
所写的代码如下,但无法运行,也没有报错,求各位帮忙看看,感激不尽
#include<stdio.h>
struct stu
{
int banji;
int score;
char name[10];
}; //学生结构体
int main()
{
struct stu s[] = { {05,12,"j"}, {05,2,"k"}, {051,3,"l"} };
struct stu t;
for (int i = 0; i < 3; i++)
for (int j = 0; j < 3 - i; j++)
{
if (s[j].score > s[j + 1].score)
{
t = s[j];
s[j] = s[j + 1];
s[j + 1] = t;
}
} //到此为冒泡排序
int left = 1;
int right = 3;
int x;
printf("请输入你想要寻找的成绩:");
scanf("%d",&x);
while (left < right)
{
int mid = (left + right) / 2;
if (x == s[mid].score)
{
printf("您要寻找的成绩位于第 %d 位", mid);
return mid;
}
else if (s[mid].score < x)
left = mid + 1;
else if (s[mid].score > x)
right = mid - 1;
}
if (left >= right)
printf("无此成绩存在");
return 0; //此为二分查找
}