作业帮 > 优秀作文 > 教育资讯

学生成绩名次表软件

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/02 05:36:12 优秀作文
学生成绩名次表软件优秀作文

篇一:10位学生成绩表输入排名表(C语言)

此成绩表程序仅供参考,程序采用结构数组,较为简单。

希望亲们给予评价和判别,找出不足,方便修改。

此程序还有小的BUG,目前还未修改,以后会补上。

---------------------------------------------------------------------------------------石院12科技@赤战约风

#include

#include

struct grade{

char name[20];

int num;

float pc,qc,zc;

};//构建结构

int main()

{

struct grade stu[10];//数组结构

int i,j,m,n,k;

float a,b;

printf("\t\t\t请依次输入学生的个人信息,格式如下:\t\t\n\t\t\t学生姓名 学号 平时成绩 期末成绩\t\t\n");

for(i=0;i<10;i++)//输入个人信息

{

printf("第%d位学生信息:",i+1);

scanf("%s %d %f %f",&stu[i].name,&stu[i].num,&stu[i].pc,&stu[i].qc);

stu[i].zc=stu[i].pc*0.2+stu[i].qc*0.8;//计算总评成绩

}

int t2;char t[20];float t1;//定义替换数据

for(i=0;i<10;i++)

for(j=0;j<10;j++)//排序

{if(stu[j].zc

{

t1=stu[j].zc;stu[j].zc=stu[j+1].zc;stu[j+1].zc=t1;//交换总评成绩

t1=stu[j].qc;stu[j].qc=stu[j+1].qc;stu[j+1].qc=t1;//交换期末成绩

t1=stu[j].pc;stu[j].pc=stu[j+1].pc;stu[j+1].pc=t1;//交换平时成绩

t2=stu[j].num;stu[j].num=stu[j+1].num;stu[j+1].num=t2;//交换学号 for(k=0;k<20;k++)

{t[k]=stu[j].name[k];stu[j].name[k]=stu[j+1].name[k];stu[j+1].name[k]=t[k];}//交换姓名 }

}

system("cls");

printf("\t\t\t\t学生总评成绩排名\n\n");

printf("名次\t学生姓名\t学号\t平时成绩\t期末成绩\t总评成绩\n");

printf("-----------------------------------------------------------------------------\t\t\n");

for(i=0;i<10;i++)//打印学成个人信息

} printf("%d\t%s\t\t%d\t%f\t%f\t%f\n",i+1,stu[i].name,stu[i].num,stu[i].pc,stu[i].qc,stu[i].zc); printf("-----------------------------------------------------------------------------\t\t\n"); for(i=0,n=0;i<10;i++)//计算打印不及格人数 {if(stu[i].zc<60) n++;} printf("\t\t总评成绩不及格有%d人,占比率%d%%\n",n,n*10); for(i=0,n=0;i<10;i++)//计算打印优秀人数 {if(stu[i].zc>+90) n++;} printf("\t\t总评成绩优秀有%d人,占比率%d%%\n",n,n*10); return 0;

篇二:用Excel电子表格为学生成绩排名次

用Excel电子表格为学生成绩排名次

2010-01-14 12:56:22 来源:遵义五中 浏览:2424次

RANK函数是Excel计算序数的主要工具,它的语法为:RANK(number,ref,order),其中number为参与计算的数字或含有数字的单元格,ref是对参与计算的数字单元格区域的绝对引用,order是用来说明排序方式的数字(如果order为零或省略,则以降序方式给出结果,反之按升序方式)。 格式: =RANK(A1,$A$1:$A$n)

其中:“A1”表示成绩所在列的第一行,“$A$1:$A$n ”表示成绩的第一行到最后行 例:为下表所示成绩排名次

操作步骤

一、选中B1单元格,并在其上输入函数,输入后点“勾”,(如下图所示)。

其中成绩所在的行是A1至A9 函数式应为=RANK(A1,$A$1:$A$9)

二、将鼠标放到红线所指的小方点上按下左键往下拖到最后一行即可排出名次,如下图所示。

三、再按B列排序即得所要的排名次,如下图所示。

邮件合并一步一步学:

软件OFFICE2003,EXCEL2003

1、在excel2003中建一个数据表(联系表.xls)如:姓名,身份证号,其它编号,职业,联系方式,输入相应数据,保存;

如想在一张页面中打印多个人的信息,就在excel2003多排几列了!

2、打开一个空白word文档(联系表.doc),点击工具-信函与邮件-邮件合并,这时在你的右面就会出现一个任务窗格;

3、在窗格中选择信函,然后点击下一步:正在启动文档;

4、选择使用当前文档,点击下一步:选取收件人;

5、选择使用现有列表,点击浏览,选取”联系表.xls”然后在弹出的窗口中选择你建表的工作薄(一 般都是sheet1$)。确定,再确定,点出下一步:撰写信函;

6、在你的word文件中建好你想把数据插入后的格式;

想在一张页面中打印多个人的信息,就用文本框做好,一张页面多排几张文本框而已。

7、点击右面的项目的中其它项目(当然你也可选择插入地址块、问候语),你就会看到姓名、姓名1、姓名2等等,把你想要的项目插入到对应的位置即可。

8、在工具栏上点右键,点击邮件合并,在弹出的邮件合并工具栏中点击ABC,就会在域与你的实际项目中切换,工具栏上其它键自己试好了,懂中文一看就知!

篇三:显示学生名次表

华北科技学院综合性

实 验 报 告

课程名称 汇 编 语 言 实验学期 2013 至 2014 学年 第 2 学期

学生所在系部 计算机学院计算机工程系 年级 二年级 专业班级 学生姓名 学号 任课教师 李冬艳 实验成绩

计算机学院制

实验报告须知

1、 学生上交实验报告时,必须为打印稿(A4纸)。页面空间不够,可以顺延。

2、 学生应该填写的内容包括:封面相关栏目、实验地点、时间、目的、设备环境、

内容、结果及分析等。

3、 教师应该填写的内容包括:实验成绩、教师评价等。

4、 教师根据本课程的《综合性实验指导单》中实验内容的要求,评定学生的综合

性实验成绩;要求在该课程期末考试前将实验报告交给任课教师。综合性实验中,所涉及的程序,文档等在交实验报告前,拷贝给任课教师。任课教师统一刻录成光盘,与该课程的期末考试成绩一同上交到系里存档。

5、 未尽事宜,请参考该课程的实验大纲和教学大纲。

《 汇 编 语 言》课程综合性实验报告

篇四:一键分析统计学生成绩及生成排好版的全年级排名表与各班表

一键分析统计学生成绩及生成排好版的全年级排名表与各班表 可在http://pan.baidu.com/share/link?shareid=458047&uk=2902695957下载模板及.xla文件。

分析统计各科平均分及年级平均分并生成(年名表与班名表)

'统计基础:"各单科"成绩按本身降序排列取前N名 或 "各班"成绩按总分降序排列取前N名(包括与第N名相同总分)

*********(不用手动排序,排名,在模板上点“统”一键生成) xel7000自动化工具.xla 模块代码:

(模板与对应源表放在同一文件夹打开会自动取得数据,工具—加载宏 加载.xla) Option Explicit

Public Sub 每类一页() '前提是排好类别,每班1页,按性别2页

Application.ScreenUpdating = False

'On Error Resume Next

Dim a, srange As Range, fvalue As String, c, d, fFlag, ss, i, n, p As Integer, rend, j As Long, _

sCol As Long, StartRow As Long, EndRow As Long, sc As Single

'找到分类依据********************************

fvalue = InputBox("请输入分页依据的类别", "类别", "班级")

If Len(fvalue) = 0 Then Exit Sub

For Each a In Intersect(Rows("1:4"), ActiveSheet.UsedRange)

If StrComp(a.Value, fvalue, vbTextCompare) = 0 Then

a.Select

fFlag = 1

c = a.Row

d = a.Column

'MsgBox "查找成功"

End If

Next

If fFlag <> 1 Then MsgBox "找不到包含【" & fvalue & "】的字段单元格。": Exit Sub

' 冻结并设置顶端标题行********************************

Rows("1:" & c).Font.Bold = True

With ActiveSheet.PageSetup

.PrintTitleRows = "$1:$" & c

.PrintTitleColumns = ""

End With

Rows(c + 1).Select

ActiveWindow.FreezePanes = True

'原稿处理********************************

ActiveSheet.Cells.Font.Size = 12

Call 原稿处理

'按类分页***************************************

'选取要分类的列

rend = ActiveSheet.Cells.Find("*", , xlValues, , xlByRows, 2).Row

Set srange = Range(Cells(c + 1, d), Cells(rend, d))

'按类分页

On Error Resume Next

ActiveSheet.ResetAllPageBreaks

n = 1

sCol = srange.Cells(1, 1).Column

StartRow = srange.Cells(1, 1).Row

EndRow = StartRow + srange.Rows.Count - 1

For j = StartRow To EndRow - 1

If StrComp(Cells(j, sCol), Cells(j + 1, sCol), vbTextCompare) <> 0 Then 'Cells(j, sCol) <> Cells(j + 1, sCol) Then

n = n + 1 '要缩放的页数

'ActiveSheet.HPageBreaks.Add Before:=Cells(j + 1, sCol)

ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(j + 1, sCol) End If

Next j

ss = 100

'缩放掉多余自动分页符************************************

For i = 100 To 10 - 1

p = ExecuteExcel4Macro("Get.Document(50)")

If p <= n Then Exit For

If ActiveSheet.PageSetup.Zoom = 10 Then ActiveSheet.PageSetup.Zoom = 100: MsgBox "无法完成缩放,已恢复到100%缩放比例!"

ss = ActiveSheet.PageSetup.Zoom - 1

ActiveSheet.PageSetup.Zoom = ss

Next

'缩放的看不清(极限)

If (Rows(c + 1).Height) * ss < 1125 Then ActiveSheet.PageSetup.Zoom = 100: MsgBox "小于(8号字体的适合行高)可能效果不太好" & vbCrLf & "已恢复到100%缩放比例!" '小于8号字体的适合行高(主要内容为最小行高的情况下)

Application.ScreenUpdating = True

End Sub

Public Sub 原稿处理()

Dim rend, cend As Long

'最大化页面设置

With ActiveSheet.PageSetup

' .LeftHeader = "" '页眉-左边位置

' .CenterHeader = '页眉-中间位置

.RightHeader = "&D" '页眉-右边位置

' .LeftFooter = "" '页脚-左边位置

.CenterFooter = "第 &P 页,共 &N 页" '页脚-中间位置

' .RightFooter = "" '页脚-右边位置

.LeftMargin = Application.InchesToPoints(0) '页边距-左

.RightMargin = Application.InchesToPoints(0) '页边距-右

.TopMargin = Application.InchesToPoints(0.2) '页边距-上

.BottomMargin = Application.InchesToPoints(0.4) '页边距-下

.HeaderMargin = Application.InchesToPoints(0) '页眉

.FooterMargin = Application.InchesToPoints(0) '页脚

' .PrintHeadings = False '打印行号列号

' .PrintGridlines = False '打印网格线

' .PrintComments = xlPrintNoComments '无批注

' .CenterHorizontally = False '水平居中

学生成绩名次表软件

' .CenterVertically = False '垂直居中

' .Orientation = xlLandscape

' .Draft = False

' .PaperSize = xlPaperA4 '纸型

' .FirstPageNumber = xlAutomatic

' .Order = xlDownThenOver

' .BlackAndWhite = False ' '单色打印

' .Zoom = 90 '缩放比例

' .PrintErrors = xlPrintErrorsDisplayed

End With

rend = ActiveSheet.Cells.Find("*", , xlValues, , xlByRows, 2).Row

cend = ActiveSheet.Cells.Find("*", , xlValues, , xlByColumns, 2).Column

Range(Cells(2, 1), Cells(rend, cend)).Borders.LineStyle = xlContinuous

Range(Cells(2, 1), Cells(rend, cend)).HorizontalAlignment = xlCenter

ActiveSheet.Rows.EntireRow.AutoFit

ActiveSheet.Columns.EntireColumn.AutoFit

End Sub

各班成绩分析统计.xla 模块代码

Option Explicit

Public Function 年名班名表(ch As String) As String

Dim dfname As Workbook, currenname, pname, ipath, term, midfin As String, d, tj, ctotal, cclass, rend, cend, jm As Integer, _

dyear, dmonth, dday As Long

On Error GoTo err

tj = Application.Text(Left(Range("b3").Value, 1), "[dbnum1]")

If ch = "y" Then pname = "年名"

If ch = "c" Then pname = "班名"

currenname = ActiveWorkbook.name '当前执行的应是有成绩的模板表,否则空白表find处出错

'某个文件:

ipath = Workbooks(currenname).Path & "\" & "初" & tj & "年级(" & pname & ")表.xls" '文件的详细地址

Application.DisplayAlerts = False

If Dir(ipath) = "" Then

Set dfname = Workbooks.Add

Workbooks(dfname.name).SaveAs

Filename:=Workbooks(currenname).Path & "\" & "初" & tj & "年级(" & pname & ")表.xls"

Else

Application.Workbooks.Open (Workbooks(currenname).Path & "\" & "初" & tj & "年级(" & pname & ")表.xls")

Set dfname = Workbooks("初" & tj & "年级(" & pname & ")表.xls")

End If

Application.DisplayAlerts = True

Workbooks(currenname).Activate

rend = ActiveSheet.Cells.Find("*", , xlValues, , xlByRows, 2).Row

cend = ActiveSheet.Cells.Find("*", , xlValues, , xlByColumns, 2).Column

Range(Cells(2, 1), Cells(rend, cend)).Copy

Windows("初" & tj & "年级(" & pname & ")表.xls").Activate

Range("A2").PasteSpecial Paste:=xlPasteValuesAndNumberFormats

For jm = 1 To 15

If Cells(2, jm) = "总分" Then

ctotal = jm

End If

Next

Selection.Sort Key1:=Cells(3, ctotal), Order1:=xlDescending, Header:=xlYes, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _

:=xlPinYin, DataOption1:=xlSortNormal

rend = ActiveSheet.Cells.Find("*", , xlValues, , xlByRows, 2).Row

Cells(3, ctotal + 1).Value = 1

Range(Cells(3, ctotal + 1), Cells(rend, ctotal)).DataSeries _

Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, Step:=1, Trend:=False

If ch = "c" Then

For jm = 1 To 15

If Cells(2, jm) = "班名" Then

cclass = jm

End If

Next

Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Key2:=Cells(3, cclass), Order2:=xlAscending, _

Header:=xlYes, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _

:=xlPinYin, DataOption1:=xlSortNormal, DataOption2:=xlSortNormal

End If

' 第1行处理

dyear = Year(Date)

dmonth = Month(Date)

Select Case dmonth

Case 9 To 12

term = "上"

midfin = "期中"

Case 1

term = "上"

midfin = "期终"

Case 2 To 5

term = "下"

midfin = "期中"

Case 6 To 7

term = "下"

midfin = "期终"

End Select

If ch = "y" Then d = ctotal + 2

If ch = "c" Then d = cclass

Range(Cells(1, 1), Cells(1, d)).Select

With Selection

.HorizontalAlignment = xlCenter

.MergeCells = True

'.Font.Bold = True

End With

Range("a1").Value = "蓝坊初中" & (dyear - 1) & "-" & dyear & term & Left(ActiveWorkbook.name, 2) & "年级" & midfin & "考试成绩"

'Application.CutCopyMode = False

If ch = "y" Then

ActiveSheet.Cells.Font.Size = 12

Rows("1:2").Font.Bold = True

ActiveSheet.PageSetup.PrintTitleRows = "$1:$2"

Rows("3:3").Select

ActiveWindow.FreezePanes = True

Application.Run "'" & ThisWorkbook.Path & "\xel7000自动化工具.xla'!原稿处理"

End If

篇五:学生成绩名次表

学生成绩名次表

优秀作文