중국 굿 OJ.

3408 단어 입문 알고리즘
사이트 주소:http://zju.acmclub.com/index.php?app=problem_title&id=1&problem_id=2265
   이 문 제 는 어렵 지 않 지만 어떻게 제출 해 야 할 지 모 르 겠 습 니 다. 경계 테스트 데 이 터 는 몇 팀 이 생각 나 지 않 습 니 다. 어떤 상황 에서 생각 을 잊 어 버 렸 거나 문제 의 그 말 을 잘 보지 못 해서 화가 났 습 니 다. 먼저 여기에 쓰 고 이틀 후에 머리 가 깨 어 나 면 좀 어 지 럽 습 니 다. 만약 에 어떤 마음 좋 은 사람 이 불 에 타 는 것 을 발견 하면 알려 주 십시오.감사합니다!
     
#include<stdio.h>
#include<string.h>
struct student
{
    int score;
    int num;
    char name[16];
    char cname[16];
    char sname[16];
}user[100],temp;
int main()
{
    int n;
    int x = 0;
    while(scanf("%d",&n) != EOF)
    {
        int i;
        for(i = 0; i < n; i++)
        {
            char xx;
            scanf("%d%d%c",&user[i].score,&user[i].num,&xx);
            gets(user[i].name);
            int len = strlen(user[i].name);
            int j,k = 0,m = 1;
            user[i].sname[0] = user[i].name[0];
            for(j = 0; j < len; j++)
            {
                if(user[i].name[j] != ' ')
                {
                    //         cname 
                    user[i].cname[k] = user[i].name[j];
                    k++;
                }
                else
                {
                    //       sname 
                    user[i].sname[m] = user[i].name[j + 1];
                    m++;
                }
            }
            user[i].sname[m] = '\0';
            user[i].cname[k] = '\0';
        }
        if(n == 0)
            return 0;
        if(x != 0)
            printf("
"); x++; for(i = 0; i < n; i++) { int j; for(j = i; j < n; j++) { // if(user[i].score < user[j].score) { temp = user[i]; user[i] = user[j]; user[j] = temp; } // if(user[i].score == user[j].score) { //AC if(user[i].num < user[j].num) { temp = user[i]; user[i] = user[j]; user[j] = temp; } //AC if(user[i].num == user[j].num) { // , if(strcmp(user[i].sname,user[j].sname)) { temp = user[i]; user[i] = user[j]; user[j] = temp; } // if(!strcmp(user[i].sname,user[j].sname)) { // cname if(strcmp(user[i].cname,user[j].cname)) { temp = user[i]; user[i] = user[j]; user[j] = temp; } } } } } } for( i = 0; i < n; i++) printf("%d %d %s
",user[i].score,user[i].num,user[i].name); if(x == 1) printf("
"); } return 0; }

좋은 웹페이지 즐겨찾기