考试排名
来源:互联网 发布:js获取图片原始尺寸 编辑:程序博客网 时间:2024/05/02 02:14
#include<stdio.h>#include<stdlib.h>#include<string.h>struct student{char name[20];int num;int time;}stu[10010];int cmp( const void *a , const void *b){student *c = (struct student*)a; student *d = (struct student*)b;if(c->num!=d->num) return c->num>d->num;else if(c->time!=d->time) return c->time<d->time;else return strcmp(c->name,d->name)<0;}int main(){int n,k,temp,i,j,fashi;//人数int m;//罚分数 char grade[110];//定义一个grade数组 scanf("%d%d",&n,&m); memset(stu,0,sizeof(stu));//将stu数组的元素全部设为0 i=0;//i用来做标记! while(scanf("%s",&stu[i].name)!=EOF)//当输入的数组的名字不是文件终止时 { for(j=0;j<n;j++) { memset(grade,0,sizeof(grade));//每一次都要把grade清为0 scanf("%s",grade);//获取grade if(grade[0]=='-'||grade[0]=='0') { continue;//如果输入的是负数或者0,继续! } stu[i].num++;//通过的题数加一! k=0; temp=0; while(grade[k]!='\0'&&grade[k]!='(')//当grade数组没有借宿且没有"("存在时! { temp=temp*10+grade[k]-'0'; k++;//计算temp的值!计算通过时用时时间 } fashi=0;//罚时清为零 if(grade[k]=='(') { k++; while(grade[k]!=')') { fashi=fashi*10+grade[k]-'0'; k++; //计算罚时! } } stu[i].time+=(fashi*m+temp);//计算用时数! } i++; } qsort(stu,10010,sizeof(stu[0]),cmp); for(j=0;j<i;j++) { printf("%-10s %2d %4d\n",stu[j].name,stu[j].num,stu[j].time); } return 0; }
0 0
- 考试排名
- 考试排名
- 考试排名
- 考试排名
- 考试排名
- 考试排名
- 考试排名
- 考试排名
- 考试排名
- 考试排名
- 考试排名 hdu 2903
- 2093考试排名
- HDOJ-考试排名
- hdu 2093 考试排名
- hdu2093 考试排名
- HDU 2093 - 考试排名
- HDU 2093 考试排名
- HDU 2093 考试排名
- Java Hex 16进制的 byte String 转换
- 关于感知机的收敛证明和MATLAB实现
- 关于cocos2dx中文转UTF8码的解决方案
- SSL相关记录
- Oracle一条SQL语句时快时慢
- 考试排名
- 处理器之基础篇一
- ShareSDK快捷分享
- Android列表视图(ListView--ArrayAdapter)学习
- sqlite__初识
- 各视频网站在Webview中接入用html代码示例 长期更新
- 链表(3)----循环单链表基本操作
- redis dig netstat
- Cocos2Dx-精灵大小设置