#include<stdio.h>
#include<string.h>
struct info
{
char name[100];
int score;
};
struct info temp;
struct info x[10];
int Qksort(struct info arr[],int low,int high)
{
int max = high;
int min = low;
int flag = 0;
temp = arr[low];
while(low<high)
{
while(arr[high].score > temp.score )
high--;
arr[low] = arr[high];
while (arr[low].score < temp.score)
low++;
arr[high] = arr[low];
flag++;
}
if(flag != 0)
{
arr[low] = arr[high] = temp;
Qksort(arr,min,high);
Qksort(arr,high+1,max);
}
}
int main()
{
int m = 10;
int i,j;
for (i=0; i<m; i++)
{
printf("输入第%d个学生的信息:",i+1);
scanf("%s %d",x[i].name,&x[i].score);
}
Qksort(x,0,9);
printf("使用快速排序对上面数据按成绩非递减排列:\n");
for (i=0; i<m; i++)
{
printf("%s %d\n",x[i].name,x[i].score);
}
return 0;
}
为什么快速排列下面的代码跑不动呢,输入完就没有输出了
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- 大太子二太子 2021-01-04 14:36关注
陷入死循环了,arr[high].score > temp.score里应该加上low<high的判断,要不然从头找到尾了
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥50 yalmip+Gurobi
- ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
- ¥15 angular开发过程中,想要读取模型文件,即图1的335行,会报404错误(如图2)。但我的springboot里配置了静态资源文件,如图3。且在该地址下我有模型文件如图4,请问该问题该如何解决呢?
- ¥15 itunes恢复数据最后一步发生错误
- ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了
- ¥100 H5网页如何调用微信扫一扫功能?
- ¥15 讲解电路图,付费求解
- ¥15 有偿请教计算电磁学的问题涉及到空间中时域UTD和FDTD算法结合的
- ¥15 vite打包后,页面出现h.createElement is not a function,但本地运行正常
- ¥15 Java,消息推送配置