...学生成绩从高到低排名 sort(int a[10]);的代码怎么写:?
发布网友
发布时间:2024-10-02 03:11
我来回答
共5个回答
热心网友
时间:2024-11-07 18:15
1、创建java类TestSort,
2、编写java代码,初始化数组,
public class TestSort {
public static void main(String[] args) {
int[] a = { 80, 70, 95, 53, 62, 41, 89, 100, 72, 99 };
System.out.print("排序之前:");
System.out.println(Arrays.toString(a));
}
}
3、执行该代码,输出排序前的数组,如下,可以看到数组并没有排序,
4、编写排序代码,将数组从高到底排列,执行输出后,结果如下,
for (int i = 0; i < 10; i++)
for (int j = i; j < 10; j++) {
if (a[i] < a[j]) {
int temp = a[i];
a[i] = a[j];
a[j] = temp;
}
}
热心网友
时间:2024-11-07 18:12
排序算法网上一大堆。几十个元素的排序用选择排序就好。
热心网友
时间:2024-11-07 18:11
给个思路,代码还是自己练习着写才会有长进的
1.这个函数的局限性在于指定了元素数量大小是10,也就是说只能给有10个元素的数组排序
2.这个函数第一个参数没有指定元素大小,而是将元素大小作为第2个参数,这样就可以给任意元素个数的数组排序,只要将数组和元素个数传入函数
3.这个函数增加了第3个参数,那么根据第3个参数的值来进行降序排列或者升序排列,在函数体内用switch或者if就可以
至于排序的算法,比较常见和简单的譬如冒泡排序法
热心网友
时间:2024-11-07 18:12
冒泡排序的函数:
void bubble(int data[],int length)
{
int segment;
int loop;
int temp;
for(segment=0;segment<=length-2;segment=segment+1){
for(loop=length-2;loop>=segment;loop=loop-1){
if(data[loop]>data[loop+1]){
temp=data[loop];
data[loop]=data[loop+1];
data[loop+1]=temp;
}
}
}
return;
}
热心网友
时间:2024-11-07 18:08
回答即可得2分,回答被采纳则获得悬赏分以及奖励20分for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((s[t]->getsum())<(s[y]->getsum()))
t=y;
if(t!=x)
{
b=*s[x];
*s[x]=*s[t];
*s[t]=b;
}
}
}
if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"姓名:"<<" "<<s[k]->name<<
"语文:"<<" "<<s[k]->chinese<<"数学:"<<" "<<s[k]->math
<<"外语:"<<" "<<s[k]->english<<"总分:"<<" "<<s[k]->getsum()
<<"平均分:"<<" "<<s[k]->getaver()<<endl;
}
break;
}
case '8':
{