- #include <stdio.h>
- #include <stdlib.h>
- typedef struct student{
- char number[20];
- char name[20];
- char sex[10];
- char birth[20];
- char province[20];
- int score;
- struct student *next;
- }student;
- void getSecond(student *s[],int sn);
- void sort(student *s[],int sn);
- int main(){
- FILE *fp;
- int f;
- int sn=10;
- student *s[sn];
- //申请内存空间
- for(f=0;f<sn;f++){
- s[f]=(student*)malloc(sizeof(student));
- }
- //打开(if)文件
- if((fp=fopen("E:\\h.txt","r"))==NULL){
- printf("文件读取失败.\n");
- return 0;
- }
- printf("文件读取成功.\n");
- //读取(for)文件
- for(f=0;f<sn;f++){
- fscanf(fp,"%s%s%s%s%s%d",s[f]->number,s[f]->name,s[f]->sex,
- s[f]->birth,s[f]->province,&s[f]->score);
- printf("%s%16s%8s%16s%16s%8d\n",s[f]->number,s[f]->name,s[f]->sex,
- s[f]->birth,s[f]->province,s[f]->score);
- }
- //关闭文件
- fclose(fp);
- getSecond(s,sn);
- sort(s,sn);
- return 0;
- }
- //寻找次高分数的学生信息
- void getSecond(student *s[],int sn){
- int ranking=1;
- int i,j;
- for(i=0;i<sn;i++){
- for(j=0;j<sn;j++){
- if(s[i]->score>s[j]->score)ranking++;
- }
- if(ranking==sn)break;
- else ranking=1;
- }
- printf("\n次高分数的学生信息:\n");
- printf("%s%16s%8s%16s%16s%8d\n",s[i]->number,s[i]->name,s[i]->sex,
- s[i]->birth,s[i]->province,s[i]->score);
- }
- //排序后学生的信息
- void sort(student *s[],int sn){
- student *temp;
- int i,j;
- for(i=0;i<sn-1;i++){
- for(j=0;j<sn;j++){
- if(s[i]->score<s[j]->score){
- temp=s[i];
- s[i]=s[j];
- s[j]=temp;
- }
- }
- }
- printf("\n所有排序后学生的信息 :\n");
- for(i=0;i<sn;i++){
- printf("%s%16s%8s%16s%16s%8d\n",s[i]->number,s[i]->name,s[i]->sex,
- s[i]->birth,s[i]->province,s[i]->score);
- }
- }
sql
10903070101 张三丰 男 19851009 河南省 79
10903070102 郭靖 男 19851009 江苏省 85
10903070103 黄蓉 女 19851009 江苏省 98
10903070104 杨康 男 19851009 河北省 60
10903070105 令狐冲 男 19851009 河北省 88
10903070106 任盈盈 女 19851009 河北省 77
10903070107 洪七公 男 19851009 河南省 64
10903070108 欧阳锋 男 19851009 福建省 67
10903070109 阿紫 女 19851009 广西省 82
10903070110 段誉 男 19851009 云南省 69
10903070111 梅超风 女 19851009 广西省 72
10903070112 穆念慈 女 19851009 陕西省 69
10903070113 霍青桐 女 19851009 四川省 81
10903070114 陈家洛 男 19851009 四川省 73
10903070115 香香公主 女 19851009 西藏自治区 85
10903070116 乔峰 男 19851009 山东省 78
10903070117 虚竹 男 19851009 山东省 85
10903070118 王语嫣 女 19851009 湖北省 83
10903070119 张无忌 男 19851009 湖北省 78
10903070120 张翠山 男 19851009 湖北省 79
10903070121 殷素素 女 19851009 湖南省 65
10903070122 谢逊 男 19851009 四川省 86
10903070123 杨逍 男 19851009 贵州省 71
10903070124 纪晓芙 女 19851009 四川省 65
10903070125 赵敏 女 19851009 辽宁省 64
10903070126 杨过 男 19851009 陕西省 76
10903070127 小龙女 女 19851009 江西省 81
10903070128 胡斐 男 19851009 湖南省 80
10903070129 袁紫衣 女 19851009 广东省 91
10903070130 凤天南 男 19851009 陕西省 76