C语言OJ题
发布网友
发布时间:2022-05-04 14:06
我来回答
共2个回答
热心网友
时间:2022-06-22 19:45
//试试下面的
#include <stdio.h>
#define N 10 //数组元素个数
//冒泡排序
int main()
{
int t,num[N];
int i,j,d;
int max;
printf("请输入%d个数,用空格分隔开:\n",N);
for(i=0;i<N;i++)
{
scanf("%d",&num[i]);
}
printf("请输入第几大的值:\n");
scanf("%d",&d);
for(i=0;i<N;i++)//程序的核心是双层嵌套
{
for(j=0;j<N;j++)
{
//if(num[j]>num[j+1])//从小到大排列
if(num[j]<num[j+1]) //从大到小排列
{
t=num[j]; //交换位置
num[j]=num[j+1];
num[j+1]=t;
}
}
}
printf("数据排序后如下:\n");
for(i=0;i<N;i++) //输出排序后的数组元素
{
printf("%d ",num[i]);
}
printf("\n要查询的值为:%d\n",num[d-1]);
system("pause");//暂停功能
return 0;
}
热心网友
时间:2022-06-22 19:45
没什么问题啊,是不是你的运行环境有问题,虽然你的排序算法写的不简洁,但是没错误,选择和冒泡的排序算法比较好,建议你使用,望采纳