程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 九度1061 成績排序

九度1061 成績排序

編輯:C++入門知識

[cpp] /*********************************   *    日期:2013-1-12   *    作者:SJF0115   *    題號: 九度1061   *    題目:成績排序   *    來源:http://ac.jobdu.com/problem.php?pid=1061   *    結果:AC   *    題意:   *    總結:  **********************************/   #include <stdio.h>    #include<stdlib.h>    #include <string.h>       typedef struct Student{       char name[20];       int age;       int grade;   }Student;      //排序    int cmp(const void *a,const void *b)   {       struct Student *c=(Student*)a;       struct Student *d=(Student*)b;       if(c->grade!=d->grade)           return c->grade - d->grade;       else if(strcmp(c->name,d->name) != 0){           return strcmp(c->name,d->name);       }       else{           return c->age - d->age;       }   }      int main()   {       int n;       Student student[1001];       //freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);        while(scanf("%d",&n) != EOF)       {           char name[20];           int age,grade;           for(int i = 0;i < n;i++){               scanf("%s",name);               strcpy(student[i].name,name);               scanf("%d",&age);               student[i].age = age;               scanf("%d\n",&grade);               student[i].grade = grade;           }           //排序            qsort(student,n,sizeof(student[0]),cmp);           for(int i = 0;i<n;i++){               printf("%s %d %d\n",student[i].name,student[i].age,student[i].grade);           }       }       return 0;   }     /*********************************  *    日期:2013-1-12  *    作者:SJF0115  *    題號: 九度1061  *    題目:成績排序  *    來源:http://ac.jobdu.com/problem.php?pid=1061  *    結果:AC  *    題意:  *    總結: **********************************/ #include <stdio.h> #include<stdlib.h> #include <string.h>   typedef struct Student{     char name[20];     int age;     int grade; }Student;   //排序 int cmp(const void *a,const void *b) {     struct Student *c=(Student*)a;     struct Student *d=(Student*)b;     if(c->grade!=d->grade)         return c->grade - d->grade;     else if(strcmp(c->name,d->name) != 0){         return strcmp(c->name,d->name);     }     else{         return c->age - d->age;     } }   int main() {     int n;     Student student[1001]; //freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);     while(scanf("%d",&n) != EOF)     {         char name[20];         int age,grade;         for(int i = 0;i < n;i++){             scanf("%s",name);             strcpy(student[i].name,name);             scanf("%d",&age);             student[i].age = age;             scanf("%d\n",&grade);             student[i].grade = grade;         }         //排序         qsort(student,n,sizeof(student[0]),cmp);         for(int i = 0;i<n;i++){             printf("%s %d %d\n",student[i].name,student[i].age,student[i].grade);         } } return 0; }    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved