、在函数中进行10个学生成绩从高到低排名 sort(int a[10]);的代码怎么写:?

1、在函数中进行10个学生成绩从高到低排名 sort(int a[10]);
2、改进第一步的函数为sort(int a[],int n),进行n个学生成绩从高到低排名;
3、改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式;
4、根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。
(a:ascending 升,d:descending 降)。
总题目是这样的,请问一下应该怎么编写?

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;

}

}

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-07-03
给个思路,代码还是自己练习着写才会有长进的

1.这个函数的局限性在于指定了元素数量大小是10,也就是说只能给有10个元素的数组排序

2.这个函数第一个参数没有指定元素大小,而是将元素大小作为第2个参数,这样就可以给任意元素个数的数组排序,只要将数组和元素个数传入函数

3.这个函数增加了第3个参数,那么根据第3个参数的值来进行降序排列或者升序排列,在函数体内用switch或者if就可以

至于排序的算法,比较常见和简单的譬如冒泡排序法本回答被提问者采纳
第2个回答  2009-07-03
冒泡排序的函数:
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;
}
第3个回答  2009-07-04
回答即可得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':
{

参考资料:如果您的回答是从其他地方引用,请表明出处

第4个回答  2009-07-03
排序算法网上一大堆。几十个元素的排序用选择排序就好。

、在函数中进行10个学生成绩从高到低排名 sort(int a[10]);的代码怎么...
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、执行该代码...

1. 在函数中进行10个学生成绩从高到低排名 sort(int a[10])
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、执行该代码...

...在函数中进行10个学生成绩从高到低排名 sort(int a[10])
for(i=0;i<10;i++)for(j=i;j<10;j++){ if(a[i]<a[j]){ a[i]与a[j]交换 } } 这样就可以把10个成就高到低排序了。(2)、这个的意思应该是直接前n个同学进行排序。for(i=0;i<n;i++)for(j=i;j<n;j++){ if(a[i]<a[j]){ a[i]与a[j]交换 } } (3)在...

...在函数中进行10个学生成绩从高到低排名 sort(int a[10])
3) 改进第二步的函数为sort(int a[],int n, char style), 将n个学生成绩从高到低排名,排名方式根据sort()函数的style参数进行,如style为‘a’按升序排,style为’d’按降序排。要把三个函数写在一个程序里。。。要完整的程序!飞翔的企鹅大侠 | 浏览3842 次 |举报 我有更好的答案推荐于2017-12-15 15...

在函数中进行10个学生成绩从高到低排名
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、执行该代码...

用C语言编程:从键盘输入10个学生的成绩,由高到低排序输出成绩
在主函数main中,接收用户输入,初始化数组,调用排序函数,然后输出排序后的成绩:在main函数里,创建一个大小为SIZE的整型数组number,并通过for循环读取用户输入的10个成绩。调用bubble_sort函数对数组进行排序,最后遍历数组并打印出排序后的成绩。运行程序后,你会看到按高分到低分排列的学生成绩。除了...

c语言程序 输入十个学生成绩 从高到低如何排列
main(){ int i,a[10];for(i=0;i<10;i++)scanf("%d",&a[i]);sort(a,10);for(i=9;i>=0;i--)printf("%d\\t",a[i]);} 主函数有点问题,上面是帮你改好的

输入十个学生的成绩,分别用函数实现:求平均成绩;按分数从高到低进行...
int n){ int i;float s=0.0;for(i=0; i<n; i++)s+=g[i];return s\/n;} void main(){ float g[10];input(g,10);printf("排序前:\\n");output(g,10);float a=average(g,10);printf("平均值:%6.2f\\n",a);sort(g,10);printf("排序后:\\n");output(g,10);} ...

用C语言编程:从键盘输入10个学生的成绩,由高到低排序输出成绩
你好,我们这里需要用到数组镶套使用for函数以及冒泡算法,具体的代码如下。include <iostream> using namespace std;int main(){ int s [10], i, j, t;cout << "输入10个数:";for (i = 0; i < 10; i++){ cout << "请输入第" << i+1 << "名学生的成绩;" << endl;cin >...

1. 在函数中进行10个学生成绩从高到低排名 sort(int a[10])并写出流程...
冒泡排序,插入排序,选择排序,二分查找排序,任选

相似回答
大家正在搜