/* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */#include int count=0,X=0; for (int i=0;str[i]!=0;i++) if (isdigit(str[i])) { a[count].num=str[i]-'0'; count++; } for (int i=0;i { X=count; for (int j=0;j if (a[i].num if (a[i].num==a[j].num&&i a[i].no=X; } return count; } 50 学生成绩排序 成绩: 10 / 折扣: 0.8 大家参加了期末考试,成绩出来后老师要对 n 个学生进行成绩汇总和排序。要求程序按成绩降序进行排序。在排序过程中对于成绩相同的学生,要按照输入数据的顺序进行排列。例如:有5名学生的成绩: zhang1,90 zhang2,91 zhang3,99 zhang4,91 zhang5,98 则排序结果应该为: zhang3,99 zhang5,98 zhang2,91 zhang4,91 zhang1,90 请注意例题中“zhang2”和“zhang4”的排列顺序。 输入: 第一行为将要输入的学生数量n 从第二行起后面连续 n 行数据,每行为一名学生的姓名(长度不超过20个字符,不包括空格),考试成绩(int) 输出: 排序后的结果。每行为一名学生的姓名和成绩。 测试输入以文本方式显示 1. 2. 3. 4. 5. 6. 期待的输出以文本方式显示 1. 2. 3. 4. 5. 时间限制内存限制额外进程 1秒 64M 0 测试用例 1 5? zhang1,90? zhang2,91? zhang3,99? zhang4,91? zhang5,98? zhang3,99? zhang5,98? zhang2,91? zhang4,91? zhang1,90? 以文本方式显示 1. 2. 3. 4. 5. 6. 5? zhang31,90? zhang51,90? zhang2,90? zhang42,90? zhang1,90? 以文本方式显示 1. 2. 3. 4. 5. zhang31,90? zhang51,90? zhang2,90? zhang42,90? zhang1,90? 1秒 64M 0 测试用例 2 以文本方式显示 测试用例 3 1. 1? 2. wang,100? 以文本方式显示 1. wang,100? 1秒 64M 0 #include struct student { char name[20]; int score; }; void GetName(char name[]) { int i=0; char ch; while((ch=getchar())!=',') { name[i]=ch; i++; } name[i]='\\0'; } void GetScore(int * score) { scanf(\ } void GetScoreLast(int * score) { scanf(\ } void sort(struct student stu[],int N) { struct student * p; struct student temp; int i,j; for(i=0;i { for(j=0;j if(stu[j].score temp=stu[j]; stu[j]=stu[j+1]; stu[j+1]=temp; } } } } void print(struct student stu[],int N) { int i; for(i=0;i printf(\ } } void main() {
北理C语言作业及答案3(6)
2019-03-16 14:36
北理C语言作业及答案3(6).doc
将本文的Word文档下载到电脑
下载失败或者文档不完整,请联系客服人员解决!