?? 1236.txt
字號:
#include<stdio.h>
#include<string.h>
int points[11]; /* 考題的分?jǐn)?shù) */
char card[1000][21]; /* 考生準(zhǔn)考證號 */
int score[1000]; /* 考生成績 */
int serial[1000]; /* 過關(guān)考生的序號 */
int main( )
{
int N; /* 考生人數(shù) */
int M; /* 考題數(shù) */
int G; /* 分?jǐn)?shù)線 */
int m; /* 解決題數(shù) */
int index; /* 考生解決的題號 */
int cnt; /* 過關(guān)人數(shù) */
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;
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -