永发信息网

急求,请编程高手用冒泡排序法帮我编写一个找出一个整数数组中第K大的数的程序~

答案:3  悬赏:20  手机版
解决时间 2021-11-15 07:44
急求,请编程高手用冒泡排序法帮我编写一个找出一个整数数组中第K大的数的程序~
最佳答案
数组为:12 3 5 6 33 78 23 23 99
请问要找第几大:3
33
Press any key to continue
#include "stdio.h"

int main()
{
int i,j,tmp,a[]={12,3,5,6,33,78,23,23,99};
printf("数组为:");
for (i=0;i<9;i++)
{
printf("%d ",a[i]);
}
printf("\n");
for (i=0;i<10-1;i++)
{
for (j=0;j<10-i-1;j++)
{
if (a[j] {
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
}
printf("请问要找第几大:");
scanf("%d",&tmp);
printf("%d\n",a[tmp-1]);
return 0;
}
全部回答
import java.util.Scanner;

public class InArry {

public static void main(String[] args)
{
int[] a = new int[5];
System.out.println("********请输入 5个整数***********");
Scanner sc = new Scanner(System.in);

for (int i = 0; i < a.length; i++)
{
a[i] = sc.nextInt();
}

int temp;
boolean flag=true;

for(int i=a.length-1;i>0&& flag ;i--)
{
for(int j=0;j {
flag=false;
if(a[j] < a[j+1])
{
flag=true;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;

}
}

}
System.out.print("其由小到大排序为:");
for(int i=0;i System.out.print(a[i]+" ");

}
for(int i=0;i<5;i++){
System.out.println("\n"+"请输入第?大数字(1为最大)");
Scanner sa=new Scanner(System.in);
System.out.println("第"+sa.nextInt()+"大数字是:"+a[sa.nextInt()-1]);
}

}
}

这是java写的,不过你可以看一下,语法基本相同,道理一全部样..。。

如果光是求“最大数”的话,根本用不着冒泡排序吧……
而且这个冒泡排序,居然是用指针的……
第一行:定义一个整数数组,然后让一个整形指针指向这个数组(的头部)
第二行:定义ij两个循环计量,temp是交换用的中间变量,size是数组长度
第三行:用a的内存长度,除以int型的内存长度,得到的是a的数组长度,但听说最好不要这么用
第四行往下:循环开始

具体方法就是,先让第0个元素,跟第1个元素比较,当前者大于后者时,交换两者的值
然后让第0个元素,跟第2个元素比较,同样规则交换,直到第0元素比第size-1元素
当第0个元素跟其它所有元素比较过后,第0元素即为当前数组里最小的
因为每次都让更小的元素归到第0的位置

然后再让第1个元素跟后续的那些元素比较,以此类推,每次都把小数往前移
最后比较到第size-2跟第size-1个元素完成后,这个数组就完成排列了

代码最后两行是按顺序输出数组的值,应该是从小到大排列的。

如果你题目只是取最大值的话,根本不用这么写。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
瘦瘦包一天瘦多少正常
在WINDOWS中弹出右键菜单的快捷键是啥??
荆州区生二胎有钱补贴吗
电台说新闻的背景音乐???急!!!
有多少个皇帝住在过西安
宁古塔在哪个省?是清朝的发源地吗?
当今社会非吸到底违不违法
兰蔻小黑瓶每天用几次?早晚各一次可以吗?
阳澄湖湘苑二区坐87路公交到哪下
怎么做混泥土坪?
凤毛是什么意思啊
怎么我的魔兽RPG里的巨魔与精灵和真三的地图
我是宅女一名我天天在家很没意思,想出去玩都
随手记里的随手宝和余额宝是不是差不多,有
带囧字的电视剧和电影有哪些
推荐资讯
“飞鸽传书”是什么意思?
东东很想拥有一台属于自己的电脑,向来民主的
PLC控制机械手有什么好处
对于网上不法分子把 开车 比喻成 老啊訇 把
提手旁的旁边是檀香的檀把木字旁去是什么字
咸丰重宝当十,母钱,行家有图吗?
看图列式计算是可以用分步列式计算是吗?
新生超级家私行地址好找么,我有些事要过去,
我在上海陆家浜路我要乘三号地铁怎么坐
女人梦见丹顶鹤在吃鱼
德阳哪个美发造型师傅技术比较好?
全世界一共有多少个韦思静
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?