试着写了一下-
- @echo off
- setlocal enabledelayedexpansion
- set "list=牛B 69 牛C 74 旺财 46 陈煮水 35 小桂子 46 奥巴牛 78 二百五 34"
- set /a a=0,b=2,sum=0
- for %%a in (%list%) do (
- if !b! equ 2 (set /a b=1,a+=1) else (set /a b+=1,sum+=%%a)
- set arr[!a!][!b!]=%%a
- )
- rem 这个结束后变量a就是人数了
- set /a ave= sum * 100 / a
- echo,总分 %sum% ,平均分约 %ave:~-2%.%ave:~0,-2%
- rem 以下假设最高分是100,采用低效率做法,直接从低到高列出分数
- echo,学生成绩排名 &echo,
- set /a now=a
- for /l %%a in (0,1,100) do (
- for /l %%b in (1,1,%a%) do (
- if !arr[%%b][2]! equ %%a (
- echo,第!now!名: !arr[%%b][2]! !arr[%%b][1]!
- set /a now-=1
- )
- )
- )
- echo,
- pause
- exit
-
复制代码
[ 本帖最后由 523066680 于 2009-12-2 17:26 编辑 ] |