No.13 成绩排序

#include "stdio.h"
#include "stdlib.h"
void px(float score1[],long int num1[],int n1);
void main()
{int i,n;
float score[50];
long int num[50];
printf("Input n:\n");
scanf("%d",&n);
printf("Input num & score:\n");
for(i=0;i<n;i++)
{scanf("%ld,%f",&num[i],&score[i]);}
px(score,num,n);
printf("PX jieguo:\n");
for(i=0;i<n;i++)
{printf("%ld,%2f\n",num[i],score[i]);}
system("pause");
}
void px(float score1[],long int num1[],int n1)
{int i1,j1;
float temp1;
long int temp2;
for(i1=0;i1<n1;i1++)
{for(j1=i1+1;j1<n1;j1++)
{if(score1[j1]>score1[i1])
{temp1=score1[i1];
score1[i1]=score1[j1];
score1[j1]=temp1;
temp2=num1[i1];
num1[i1]=num1[j1];
num1[j1]=temp2;}
}
}
}

1.冒泡排序的内、外循环问题回来还得看;

2.注意数组是score[],不是score(),也不是score;

3.%8.3f:有效数字8位,小数点后2位。

时间: 2024-10-22 12:33:53

No.13 成绩排序的相关文章

九度oj 题目1061:成绩排序

题目1061:成绩排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:24473 解决:6960 题目描述: 有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相同则按照学生的年龄排序,并输出N个学生排序后的信息. 输入: 测试数据有多组,每组输入第一行有一个整数N(N<=1000),接下来的N行包括N个学生的数据.    每个学生的数据包括姓名(长度不超过100的字符串).年龄(整形数).成绩(小于等于100的正数). 输出: 将学

九度oj 题目1196:成绩排序

题目1196:成绩排序 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5192 解决:1792 题目描述: 用一维数组存储学号和成绩,然后,按成绩排序输出. 输入: 输入第一行包括一个整数N(1<=N<=100),代表学生的个数.接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩. 输出: 按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来.如果学生的成绩相同,则按照学号的大小进行从小到大排序. 样例输入: 3 1 90 2 87 3 92 样例输出: 2

03:成绩排序

03:成绩排序 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前. 输入 第一行为n (0 < n < 20),表示班里的学生数目:接下来的n行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开.名字只包含字母且长度不超过20,成绩为一个不大于100的非负整数. 输出 把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格.

题目1196:成绩排序

题目描述: 用一维数组存储学号和成绩,然后,按成绩排序输出. 输入: 输入第一行包括一个整数N(1<=N<=100),代表学生的个数. 接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩. 输出: 按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来. 如果学生的成绩相同,则按照学号的大小进行从小到大排序. 样例输入: 3 1 90 2 87 3 92 样例输出: 2 87 1 90 3 92 C++代码: #include<iostream> #includ

查询每门学科成绩在前2位的记录,并按学科,成绩排序

现在有学生成绩表,结构如下 Create Table StuAchievement ( StuId varchar(8), CourseId varchar(10), Achievement int ) 数据就自己动动手录入吧 SELECT * FROM StuAchievement A WHERE EXISTS( SELECT TOP 1 * FROM StuAchievement b WHERE a.CourseId=b.CourseId AND b.Achievement >a.Achie

实验12:Problem I: 成绩排序

Home Web Board ProblemSet Standing Status Statistics Problem I: 成绩排序 Problem I: 成绩排序 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 490  Solved: 403[Submit][Status][Web Board] Description 定义Student类: 1. 数据成员string name和int score表示一个学生的姓名.成绩. 2. 无参构造函

14周(二维数组姓名成绩排序)

/* *copyright(c) 2014,烟台大学计算机学院 *All rights reserved. *文件名称:14周(二维数组姓名成绩排序) *作者:王忠 *完成日期:2014.12.01 *版本号:v1.0 * *问题描述:初始化同学的成绩,姓氏,按大小排序 *输入描述:无 *程序输出:按照姓名或者成绩大小排序并输出 #include <iostream> #include <string> using namespace std; const int num=8; i

1196.成绩排序

题目描述: 用一维数组存储学号和成绩,然后,按成绩排序输出. 输入: 输入第一行包括一个整数N(1<=N<=100),代表学生的个数. 接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩. 输出: 按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来. 如果学生的成绩相同,则按照学号的大小进行从小到大排序. 样例输入: 3 1 90 2 87 3 92 样例输出: 2 87 1 90 3 92 #include<iostream> #include<al

Algs4-2.1.13纸牌排序-按花色排序

2.1.13纸牌排序.说说你会如何将一副扑克牌按花色排序(花色顺序是黑桃.红桃.梅花和方片),限制条件是所有牌都是背面朝上排成一列,而你一次只能翻看两张牌或者交换两张牌(保持背面朝上). 算法具体描述如下:1)翻看第一张.第二张牌2)如果第二张牌的花色小于第一张牌的花色,那么交换这两张牌3)翻看第一张.第三张牌4)如果第三张牌的花色小于第一张牌的花色,那么交换这两张牌,如此反复直到翻看第一张牌和第52张牌5)翻看第二张牌和第三张牌,第三张花色小于第二张时交换这两张牌,接着翻看第二张和第四张牌,如