这次的高考成绩单是怎么弄出来的

今天迟迟没有发德惠高考成绩单,因为长春市招生信息网(http://cczsb.changchun.jl.cn) 根本就没有发布长春地区的06年高考成绩查询系统(当然也可能利用一个我们无法获知的网址发布),我获得一个人的高考成绩都是问题,就别说获知全地区的成绩单了,既然如此,等吧。

然后就听说吉林教育电视台的网站可以免费查分的,不久就连新浪网都已经公布这个链接(http://www.jletv.cn)了。

其实这个网站我大概20多天前也听说过,高考后没几天,我从铮铮那儿回学校,吉大一院墙外对着文化广场的那块广告牌就了“登陆jle.cn查询高考成绩”的广告。出成绩那天,我把这个网站扔给铮铮,让他看看有没有办法破解一下,铮铮还很吃惊:“我说,这不是咱俩那天在那块儿看到的么?!”

当时那个系统是jsp的自然就别想破解了,继续像去年编个程序把成绩单通用查询下来吧,可这回页面布局实在不适合用Excel做Web查询:表格是纵排的,导入后必须转置才能二次编辑,想了许久没有头绪,这个计划就先搁置了。

过了几天,jletv的查询系统居然变成php了,又把网址扔给铮铮,还是别想破解。这时候因为着急要知道几个同学的成绩,无奈之下,我就玩儿了点儿阴的:让铮铮把他刚做的链接分析给我,我就干脆把全德惠考生的成绩页面都用FlashGET给Down下来了,然后我用搜索“文件包含以下内容”的法子总可以查出来了吧!当然,做全德惠考生链接的时候,还是借用了一下Excel,编了一个VB宏。但现在想想,用C编一个输入链接列表的代码似乎更方便。

——扩展名是php时居然什么都查不出来,非得改称txt才行!

能查到别人的成绩了,看着手头这3000多个文件,总不能白Down了吧,想了想,干脆用C编一个小程序把这一个个文件中的成绩数据都筛出来,说干就干!

筛选程序好编,这一年ACM培训就是联系处理这些数据了,但文件的读写操作却是实在不熟悉,为避免麻烦,干脆借助批处理算了——还好放假前从图书馆借了一本《Windows 9X/Me/2000/XP/2003 DOS命令行技术大全》,从中查到了重定向符“>>”的作用,用Excel编写个宏,输出一个批处理,就这样就把成绩都给筛出来了,我发现这比去年的方法要快多了。

同样的道理,取下德惠文科成绩单。

 

附:相关的网址:http://219.149.211.24/other/cxxt.php?KSH=&KH=279000109

附2:对应的批处理文件样式:test.exe <66.txt >>result.txt

附3:筛选用的C源程序,简单却十分有效
#include <stdio.h>

void read(void);
int main(){
  read();
  return 0;
}
void read(void){
  //此函数用来读取文件中有价值的信息
  int i;
  char buffer[2000],temp;
  for(i=1;i<=52;i++)
    fgets(buffer,2000,stdin);//筛除前面多余的行
  for(i=1;i<=93;i++)
    getchar();//筛除前面多余的字符
  for(i=1;i<=14;i++)
    putchar(getchar());
  printf(" ");
  for(i=1;i<=4;i++)
    fgets(buffer,2000,stdin);//筛除前面多余的行
  for(i=1;i<=81;i++)
    getchar();//筛除前面多余的字符
  for(i=1;i<=9;i++)
    putchar(getchar());
  printf(" ");
  for(i=1;i<=4;i++)
    fgets(buffer,2000,stdin);//筛除前面多余的行
  for(i=1;i<=81;i++)
    getchar();//筛除前面多余的字符
  while(temp=getchar()){
    if(temp=='<')break;
    putchar(temp);
  }
  printf(" ");
  for(i=1;i<=4;i++)
    fgets(buffer,2000,stdin);//筛除前面多余的行
  for(i=1;i<=81;i++)
    getchar();//筛除前面多余的字符
  while(temp=getchar()){
    if(temp=='<')break;
    putchar(temp);
  }
  printf(" ");
  for(i=1;i<=4;i++)
    fgets(buffer,2000,stdin);//筛除前面多余的行
  for(i=1;i<=81;i++)
    getchar();//筛除前面多余的字符
  while(temp=getchar()){
    if(temp=='<')break;
    putchar(temp);
  }
  printf(" ");
  for(i=1;i<=4;i++)
    fgets(buffer,2000,stdin);//筛除前面多余的行
  for(i=1;i<=81;i++)
    getchar();//筛除前面多余的字符
  while(temp=getchar()){
    if(temp=='<')break;
    putchar(temp);
  }
  printf(" ");
  for(i=1;i<=4;i++)
    fgets(buffer,2000,stdin);//筛除前面多余的行
  for(i=1;i<=81;i++)
    getchar();//筛除前面多余的字符
  while(temp=getchar()){
    if(temp=='<')break;
    putchar(temp);
  }
  printf(" ");
  for(i=1;i<=4;i++)
    fgets(buffer,2000,stdin);//筛除前面多余的行
  for(i=1;i<=81;i++)
    getchar();//筛除前面多余的字符
  while(temp=getchar()){
    if(temp=='<')break;
    putchar(temp);
  }
  printf(" ");
  for(i=1;i<=4;i++)
    fgets(buffer,2000,stdin);//筛除前面多余的行
  for(i=1;i<=81;i++)
    getchar();//筛除前面多余的字符
  while(temp=getchar()){
    if(temp=='<')break;
    putchar(temp);
  }
  printf(" ");
  for(i=1;i<=4;i++)
    fgets(buffer,2000,stdin);//筛除前面多余的行
  for(i=1;i<=81;i++)
    getchar();//筛除前面多余的字符
  while(temp=getchar()){
    if(temp=='<')break;
    putchar(temp);
  }
  printf("/n");

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值