国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

HDU 杭電 acm-2093-考試排名

2019-11-14 09:49:12
字體:
來源:轉載
供稿:網友

題目地址:http://acm.hdu.edu.cn/showPRoblem.php?pid=2093

/************************************************************************

這題廢了一番功夫。。

首先題目沒給出人數,乍一看懵了。參考了網上的代碼,用 while(scanf("%s",name)!=EOF)來結束人的輸入,鍵盤同時按住ctrl+z,輸入文件結束符,再回車,計算排名。同時把存儲人的數組定義的大一點(10000為例);

其次是數據的輸入竟然還有括號,原想用getchar()來接收并檢測是不是括號,但容易出錯,干脆全部用%s接收成字符串,再寫個函數轉化為純數字。

/****************************************************************************************

代碼如下:

/*************************

#include<stdio.h>#include<stdlib.h>#include<string.h>#include<algorithm>using namespace std;struct person{    char name[11];    int accepted;    int punish;}acmer[10000];int n,m;//n題目數,m懲罰分 int cmp(const void *q,const void *w){    person *a=(person*)q,*b=(person*)w;        if(a->accepted!=b->accepted)        return b->accepted-a->accepted;    if(a->punish!=b->punish)        return a->punish-b->punish;    return strcmp(a->name,b->name);}int to_int(char *p)//此函數將字符串中的數字轉化為int型數據 {    if(*p=='-'||*p=='0')        return 0;//題目沒做對,不做統計,直接0     int punish=0,temp=0;    while(*p)    {        if(*p=='(')        {            while(*(++p)!=')')            {                temp=temp*10+*p-'0';            }            break;        }        punish=punish*10+*p-'0';        p++;    }    return punish+temp*m;}int main(){    char a[12];    int score,i=0;    scanf("%d%d",&n,&m);    while(scanf("%s",acmer[i].name)!=EOF)    {        acmer[i].accepted=0;        acmer[i].punish=0;        for(int j=0;j<n;j++)        {            scanf("%s",a);            score=to_int(a);            if(score>0)            {                acmer[i].accepted++;                acmer[i].punish+=score;            }        }        i++;    }        qsort(acmer,i,sizeof(acmer[0]),cmp);    for(int j=0;j<i;j++)    {        printf("%-10s %2d %4d/n",acmer[j].name,acmer[j].accepted,acmer[j].punish);    }    return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乡族自治县| 延寿县| 杨浦区| 泰兴市| 昌图县| 台北市| 拉孜县| 永川市| 宣恩县| 乌兰察布市| 陆川县| 长沙县| 太康县| 永春县| 那坡县| 花莲县| 孝感市| 长治市| 涿鹿县| 襄垣县| 江西省| 祁阳县| 平顺县| 株洲县| 泗洪县| 陆丰市| 玉门市| 呈贡县| 杨浦区| 垦利县| 吉木乃县| 柘荣县| 靖江市| 阿瓦提县| 嵊州市| 太谷县| 长岛县| 壤塘县| 东乌珠穆沁旗| 东至县| 黄龙县|