📄 1236.txt
字号:
#include<stdio.h>
#include<string.h>
int points[11]; /* 考题的分数 */
char card[1000][21]; /* 考生准考证号 */
int score[1000]; /* 考生成绩 */
int serial[1000]; /* 过关考生的序号 */
int main( )
{
int N; /* 考生人数 */
int M; /* 考题数 */
int G; /* 分数线 */
int m; /* 解决题数 */
int index; /* 考生解决的题号 */
int cnt; /* 过关人数 */
int tmp;
int i,j;
scanf("%d",&N);
while(N!=0)
{
scanf("%d%d",&M,&G);
for(i=0;i<M;i++)
scanf("%d",&points[i]);
cnt=0;
for(i=0;i<N;i++)
{
scanf("%s",card[i]);
scanf("%d",&m);
score[i]=0;
for(j=0;j<m;j++)
{
scanf("%d",&index);
score[i]+=points[index-1];
}
if(score[i]>=G)
serial[cnt++]=i;
}
for(i=0;i<cnt-1;i++)
for(j=i+1;j<cnt;j++)
{
if(score[serial[i]]<score[serial[j]])
{
tmp=serial[i];
serial[i]=serial[j];
serial[j]=tmp;
}
else
if(score[serial[i]]==score[serial[j]])
if(strcmp(card[serial[i]],card[serial[j]])>0)
{
tmp=serial[i];
serial[i]=serial[j];
serial[j]=tmp;
}
}
printf("%d\n",cnt);
if(cnt>0)
for(i=0;i<cnt;i++)
printf("%s %d\n",card[serial[i]],score[serial[i]]);
scanf("%d",&N);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -