学生成绩排名
① c语言 学生成绩排名
#include<stdio.h>
voidsetList(int*a,intlen);
voidprintfList(int*a,intlen);
voidpxList(int*a,intlen);
voidinsertList(int*a,intlen);
voidfanList(int*a,intlen);
intmain()
{
inta[11];//1.定义一个数组a[11],用以存放学生的成绩。
setList(a,10);//2.从键盘输入10个学生成绩。
pxList(a,10);//3.采用选择法,将学生成绩按照从高到低进行排序。
printfList(a,10);
insertList(a,10);//4.再输入一个学生的成绩,将此成绩按照排序规律插入原学生成绩数组。
printfList(a,11);
fanList(a,11);//5.将排好序的成绩单进行反序存放,即原来是从高到低,现在改为从低到高排列
printfList(a,11);
return0;
}
voidsetList(int*a,intlen)//输入
{
inti;
printf("请输入%d个学生成绩
",len);
for(i=0;i<len;i++)
scanf("%d",&a[i]);
}
voidprintfList(int*a,intlen)//打印数组
{
inti;
printf("
---打印数组---
");
for(i=0;i<len;i++)
printf("%d",a[i]);
}
voidpxList(int*a,intlen)//选择排序
{
inti,j;
printf("
---从大到小排序---
");
for(i=0;i<len-1;i++)
for(j=i+1;j<len;j++)
if(a[i]<a[j])
{
a[j]^=a[i];
a[i]^=a[j];
a[j]^=a[i];
}
}
voidinsertList(int*a,intlen)//插入数组
{
printf("
---插入数组---
");
printf("输入要插入的数:");
scanf("%d",&a[len]);
pxList(a,11);
}
voidfanList(int*a,intlen)//数组反向存储
{
int*p0,*p1;
p0=a;
p1=&a[len-1];
while(p0<p1)
{
*p0^=*p1;
*p1^=*p0;
*p0^=*p1;
p0++;
p1--;
}
}
② 学生成绩排名
竟然和我大一时C语言实验题一模一样啊,
这个是我当时写的,可以运行的
#include <stdio.h>
void main()
{
int a[11];
int i,j,t;
int m;
void inv(int x[],int p);
printf("请输入10个学生的成绩:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("\n");
for(i=0;i<9;i++)
for(j=0;j<9-i;j++)
if(a[j]<a[j+1])
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
printf("学生成绩从高到低排序为:\n");
for(i=0;i<10;i++)
printf("%4d",a[i]);
printf("\n");
printf("再输入一个学生的成绩:\n");
scanf("%d",&m);
for(i=0;i<10;i++)
if(m>a[i])break;
for(j=9;j>=i;j--)
a[j+1]=a[j];
a[i]=m;
printf("插入一个学生之后学生成绩排序为:\n");
for(i=0;i<11;i++)
printf("%4d",a[i]);
printf("\n");
inv(a,11);
printf("成绩从低到高排序为:\n");
for(i=0;i<11;i++)
printf("%4d",a[i]);
printf("\n");
}
void inv(int x[],int p)
{
int t,i,j,q=(p-1)/2;
for(i=0;i<=q;i++)
{
j=p-1-i;
t=x[i];
x[i]=x[j];
x[j]=t;
}
return;
③ 如何把学生成绩按总分排名次
先算出学生的各科总分,然后在后一列第一个单元格里输入公式:=RANK(J3,$J$3J$62),计回算出第一位学生总答分成绩的名次,然后将光标移至第一个单元格的右下方使其变成一个黑色的十字,然后拖拽到最后一个学生的单元格,就可以算出每一位学生的总分排名了。
④ 学生成绩名次表
课后题吧,我这有
;把0--100d之间的30个数存入以GRADE为首地址的30个数组中,
;GRADE+1表示学号为i+1的学生的成绩。另一个数组RANK为30个
;学生的名次表,其中RANK+i的内容是学号为i+1的学生的名次。
;编写一程序,根据GRADE 中的学生成绩,讲学生名次填入RANK数组中。(提示:一个学生的名次等于成绩高于这个学生是人数加1)
DATAS SEGMENT
;此处输入数据段代码
GRADE DW 88,75,95,63,98,78,87,78,90,60;自行定义 ;成绩
COUNT EQU ($-GRADE)/2
RANK DW COUNT DUP (1) ;排名,初始值为1,大家都第一名,同一起跑线哈
DATAS ENDS
STACKS SEGMENT
;此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
;此处输入代码段代码
MOV SI,0 ;要排名的学生号码
MOV CX,COUNT
L1:
MOV AX,GRADE[SI] ;获得第SI号学生的成绩
MOV BX,RANK[SI] ;获得第SI号学生的初始排名
MOV DX,CX ;保存CX
MOV DI,0 ;要比较的学生的号码
MOV CX,COUNT
L2:
CMP AX,GRADE[DI] ;逐个比较
JNB L3
INC BX ;低于某一个学生的成绩,则排名加1
L3:
ADD DI,2
LOOP L2
MOV RANK[SI],BX ;保存排名
ADD SI,2
MOV CX,DX
LOOP L1
MOV AH,4CH
INT 21H
CODES ENDS
END START
⑤ 学生成绩表如何排名次
Excel2010工作表
01
数据排序法:
打开例表,先选中目标区域,再点击菜单栏"数据"按钮。如果只是对某单项成绩排序,那么只需选那一列单元格即可。如果要姓名和成绩一起排序,则要一起选。
02
在菜单栏"数据"按钮下,点击"排序"按钮,使弹出"排序"对话框。
03
弹出"排序"对话框后,在"主要关键字"文本框中选择需排序的科目,例如:总分;在"排序依据"文本框中选择"数值";在"次序"文本框中选择按升序、降序或者自定义排序,在这里我们选择"降序",也就是从高到低排名;选择完毕后点"确定"退出。
04
回到工作表中,就可以看到按降序排列总分的显示效果了。因为我们之前是"姓名"和"成绩"的区域一起选定的,所以最后"姓名"会伴随总分成绩一起排序。
05
数据筛选法:
打开例表,先选中目标区域,再点击菜单栏"数据"按钮。在菜单栏"数据"按钮下,点击"筛选"按钮。
06
在工作表中点开需排序科目(如:笔试成绩)的下拉三角按钮,然后点击升序或降序,这里我们选升序(即:从低到高排名),选择完毕点"确定"退出。
07
回到工作表中,就可以看到按升序排列筛选笔试成绩的显示效果了。
08
Rank函数排序法:
Rank函数是排名函数,语法公式是Rank(number,ref,[order],现在我们新增一列"名次"列,运用Rank函数来给总分排序。
09
先在F2单元格输入"=RANK",再输入Rank(number,ref,[order]中的number:
number指需要求排名的数值或单元格的名称,我们现在需要对E2单元格的成绩排序,所以在"=RANK"后面输入左括号和"E2"。
10
接下来,输入Rank(number,ref,[order]中的ref:
ref指的是参加排名的区域,在该工作表"总分"排名的区域是E2:E24,为了下拉填充数据时行列不错位,我们要对E2:E24加上绝对引用的符号。
11
最后,输入Rank(number,ref,[order]中的order:
order比较简单,只有0和1两种选择,0是从大到小排列(即:降序),1是小从到大排列(即:升序)。order默认的值为0,如果是降序排列可以输入0,也可以不输。
order值输入完毕后,用右括号结束Rank函数公式的书写,按回车键或点击公式编辑栏的勾号来完成公式运算。
12
回到工作表中,F2单元格里已经计算出了E2单元格的总分排名,接下来鼠标放置在F2单元格右下角,变成实心"十"字后向下填充公式,这样F列的名次就全部排好序了。
13
注意:Rank函数排序的优点是不改变原数据顺序对数据进行排序,而且如果分数一样,Rank函数会自动并列排名(比如:上图中的第22名有两位),但Rank函数成绩排序使用的是美式排名,也就是说,并列排名是占用位数的,比如:有3人并列第1,那么下一个名次是第4名,而不是像中国式的排名,下一个名次是第2名。如果用函数来进行中国式排名,还需用复杂点的组合公式,这里就不展开了。
⑥ 任元汉初中学生成绩排名
你是要任元汉初中的
七年级,八年级,九年级
中某一个年级的学生成绩
的排行榜?专
还是要属哪两个年级的学生
成绩排名?
或者是三年年级的学生成绩
的排行榜都要呀?
请你说清楚,讲明白了,我
好根据你的需要为你提供
年级成绩表!
⑦ 中小学生的考试成绩排名可不可以公开放大张贴
对考试的矛盾心情也反映在对成绩排名的态度上,调查显示,对“成绩是个人隐私,不应该公布”这一观点,有18.1%的中小学生非常赞同,32.0%的中小学生比较赞同,累计50.1%;同时,有35.7%的中小学生比较反对这一观点,14.2%的中小学生非常反对公开考试成绩,累计49.9%。可见,对这一观点,出现了两军对垒的格局,一半学生赞成,一半学生反对。调查还发现,尽管有73.6%的中小学生清楚地看到成绩排名会使排在后面的同学难堪,有71.6%的中小学生认为考试带来的压力太大,但是,仍然有73.6%的中小学生认为成绩排名能够使人清楚地认识到自己的水平,有67.4%的中小学生认为成绩排名能提高学习积极性。可见,在成绩排名这一问题上,中小学生的心态也是很矛盾的,对成绩排名的支持,反映了中小学生竞争的强烈需求,但同时他们又承受着极大的压力。教育行政部门也曾明文规定不许根据学生成绩进行排名,但从学生们强烈的竞争需求来看,单靠教育行政部门的硬性指令往往难以奏效,需要与教育的深层问题配套解决