精华内容
下载资源
问答
  • 成绩排序C语言

    万次阅读 2018-03-12 11:07:21
    #include <stdio.h> #include <string.h> int main() { int total = 0,i = 0,j = 0; int model = 0,temp = 0; int data[100]; char name[100][100],var[100];...to...

    #include <stdio.h>
    #include <string.h>
    
    int main()
    { 
        int total = 0,i = 0,j = 0;
        int model = 0,temp = 0;
        int data[100];
        char name[100][100],var[100];
        scanf("%d",&total);
        scanf("%d",&model);
        for(;i < total;i ++)
        {
            scanf("%s %d",name[i],&data[i]);
        }
        if(model == 0)
        {
            for(i = 0;i < total;i ++)
            {
                for(j = 0;j < total-i-1;j ++)
                {
                    if(data[j] < data[j+1])
                    {
                        temp = data[j];
                        data[j] = data[j+1];
                        data[j+1] = temp;
                        strcpy(var,name[j]);
                        strcpy(name[j],name[j+1]);
                        strcpy(name[j+1],var);
                    }
                }
            }
        }
        else if(model == 1)
        {
            for(i = 0;i < total;i ++)
            {
                for(j = 0;j < total-i-1;j ++)
                {
                    if(data[j] > data[j+1])
                    {
                        temp = data[j];
                        data[j] = data[j+1];
                        data[j+1] = temp;
                        strcpy(var,name[j]);
                        strcpy(name[j],name[j+1]);
                        strcpy(name[j+1],var);
                    }
                }
            }
        }
        printf("--------------------------\n");
        for(i = 0;i < total;i ++)
        {
            printf("%s %d\n",name[i],data[i]);
        }
        return 0;
    } 

    展开全文
  • 用一维数组存储学号和成绩,然后,按成绩排序输出。 输入描述: 输入第一行包括一个整数N(1<=N<=100),代表学生的个数。 接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩。 输出描述: ...

    题目描述

    用一维数组存储学号和成绩,然后,按成绩排序输出。

    输入描述:

    输入第一行包括一个整数N(1<=N<=100),代表学生的个数。
    接下来的N行每行包括两个整数p和q,分别代表每个学生的学号和成绩。

    输出描述:

    按照学生的成绩从小到大进行排序,并将排序后的学生信息打印出来。
    如果学生的成绩相同,则按照学号的大小进行从小到大排序。

    示例1

    输入

    复制

    3
    1 90
    2 87
    3 92
    

    输出

    复制

    2 87
    1 90
    3 92
    

    #include <stdio.h>
    #include <stdlib.h>//malloc函数需要引用头文件
    int main(){
        int n, *lst;
        scanf("%d", &n);
        lst = (int*)malloc(sizeof(int)*2*n);//创建表空间
        int x=0;
        while(scanf("%d %d", &lst[x], &lst[x+1])!=EOF){//多次输入
            x+=2;
        }
        for(int i=1; i<2*n; i+=2){
            for(int j=i; j<2*n; j+=2){
                int num, grd;
                if(lst[j]<lst[i]){
                    num=lst[j-1];
                    grd=lst[j];
                    lst[j-1]=lst[i-1];
                    lst[j]=lst[i];
                    lst[i-1]=num;
                    lst[i]=grd;
                }//交换顺序类似冒泡排序
                else if(lst[j]==lst[i]){
                    if(lst[j-1]<lst[i-1]){
                        num=lst[j-1];
                        grd=lst[j];
                        lst[j-1]=lst[i-1];
                        lst[j]=lst[i];
                        lst[i-1]=num;
                        lst[i]=grd;
                    }
                }
            }
        }
        for(int i=1; i<2*n; i+=2)
            printf("%d %d\n", lst[i-1], lst[i]);
        free(lst);
        return 0;
    }
     

     

    展开全文
  • 成绩排序系统(练习排序算法和复习C语言)实验一一、实验目的1.回顾C语言中的输入、输出及结构体等相关知识点;2.回顾函数的使用;3.掌握插入排序、交换排序、选择排序中的常用排序的算法思想;4.掌握插入排序、交换...

    成绩排序系统(练习排序算法和复习C语言)

    实验一

    一、实验目的

    1.回顾C语言中的输入、输出及结构体等相关知识点;

    2.回顾函数的使用;

    3.掌握插入排序、交换排序、选择排序中的常用排序的算法思想;

    4.掌握插入排序、交换排序、选择排序中的常用排序的算法实现;

    5.掌握各种常用排序时间复杂度,比较各种排序的优缺点。

    二、实验要求

    1.复习课本中第9章关于内部排序的相关知识点;

    2.用C语言完成算法和程序设计并且调试通过;

    三、实验回顾内容

    1.C语言的基本输入输出

    ①scanf()输入函数:在头文件stdio.h中声明,使用scanf函数时要加上#include 。注意:函数传递变量的地址,因此在整型变量、实型变量和字符型变量之前必须加上“&”,而数组名则不用。

    ②printf()输出函数:在头文件stdio.h中声明,使用scanf函数时要加上#include 。

    ③格式字符:用以指定输出项的数据类型和输出格式。常见的格式字符如下图所示。

    1-349-png_6_0_0_0_0_0_0_892.979_1262.879-893-0-0-893.jpg

    展开全文
  • 问题描述:学生成绩排序。输入n(n<50)个学生的成绩排名,按照学生平均成绩从高到低输出他们的信息源代码:/*学生成绩排序*//*输入n(n<50)个学生的成绩排名,按照学生平均成绩从高到低输出他们的信息*/#...

    问题描述:学生成绩排序。输入n(n<50)个学生的成绩排名,按照学生平均成绩从高到低输出他们的信息

    源代码:

    /*学生成绩排序*/

    /*输入n(n<50)个学生的成绩排名,按照学生平均成绩从高到低输出他们的信息*/

    #include

    struct student{

    int num;

    char name[10];

    int computer,english,math;

    double average;

    };

    int main(void)

    {

    int i,index,j,n;

    struct student students[50],temp;/*定义结构数组*/

    /*输入*/

    printf("Input n:");

    scanf("%d",&n);

    for(i=0;i

    printf("Input the info of No.%d:\n",i+1);

    printf("number:");

    scanf("%d",&students[i].num);

    printf("name:");

    scanf("%s",students[i].name);

    printf("computer score:");

    scanf("%d",students[i].computer);

    printf("english score:");

    scanf("%d",students[i].english);

    printf("math score:");

    scanf("%d",students[i].math);

    students[i].average=(students[i].computer+students[i].english+students[i].math)/3.0;

    }

    /*结构数组排序,选择排序法*/

    for(i=0;i

    index=i;

    for(j=i+1;j

    if(students[j].average>students[i].average);

    index=j;

    temp=students[index];

    students[index]=students[i];

    students[i]=temp;

    }

    /*输出排序后的信息*/

    printf("num \t name \t average \n");

    for(i=0;i

    printf("%d\t%s\t%.2lf\n",students[i].num,students[i].name,students[i].average);

    return 0;

    }

    运行结果:

    3972d8fe86f2

    学生成绩排序

    注意事项:

    一个结构变量只能表示一个实体的信息,如果有许多相同类型的实体,就需要使用结构数组。

    程序参数:

    输出大小: 151.6787109375 KiB

    编译时间: 0.31s

    展开全文
  • 先按成绩升序排,成绩相同则按名字字母序升序排,再相同的话按年龄升序排。参考代码:#include#include#includetypedefstructStu{charname[101];intage;intscore;}Stu;intcmp(constvoid*a,constvoid*b){Stu*c=(Stu*)a...
  • i { printf("请输入第%d个学生的“姓名 课程名称 成绩”:", i + 1); scanf_s("%s%s%f", na,_countof(na), sc,_countof(sc),&sco, 30);//scanf_s()用法查阅msdn._countof()需要头文件stdlib.h strcpy_s(stu[i].name...
  • C语言 成绩排序

    千次阅读 2019-08-27 21:13:29
    查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 示例: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 ...
  • DescriptionC++编程考试使用的实时提交系统,具有即时获得成绩排名的特点。它的功能是怎么实现的呢?我们做好了题目的解答,提交之后,要么“AC”,要么错误,不管怎样错法,总是给你记上一笔,表明你曾经有过一次...
  • 解题思路:注意事项:注意姓名字符串的长度要大于8,因为这个调了很多次参考代码:#include#include#includeusingnamespacestd;structstudent{intnumber;charname[9];intscore;}buf[100000];boolcmp1(studenta,studentb...
  • PTA学生成绩排序-C语言详解

    千次阅读 2020-12-10 21:48:05
    7-72 学生成绩排序 (20分) 给出一组学生名单(姓名和成绩),请输出按成绩从大到小排序后的结果(名次和姓名)。成绩相同的人拥有相同的名次,且按姓名的字典序从小到大排列。题目保证学生姓名没有重复。 输入格式: ...
  • 对某班学生成绩排序。从键盘依次输入某班学生的姓名和成绩(一个班级人数最多不超过50人)并保存,然后分别按学生成绩由高到低顺序输出学生姓名和成绩,成绩相同时,则按输入次序排序。 【输入形式】 从键盘依次输入...
  • struct record{char code[LEN+1]; /* 学号 */char name[LEN+1]; /* 姓名 */int age; /* 年龄 */char sex[3]; /* 性别 */char time[LEN+1]; /* 出生年月 */char add[30]; /* 家庭地址 */char tel[LEN+1];...
  • C语言程序成绩排序

    2012-11-23 01:12:45
    这是一个C语言程序,用以给学生成绩算总分和平均分,并且按照总分平均分高到底排序
  • 满意答案WAS1231232015.05.25采纳率:52%等级:8已帮助:860人123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#include<...
  • C语言-成绩排序

    2019-07-24 12:44:26
    C语言-成绩排序题目来源代码 题目来源 厦门大学在线评测系统 2018级C语言程序设计实验课1397号试题 代码 #include<stdio.h> struct stu { long int nu; int sco[6]; int no; }; int main() { struct stu...
  • c语言中平均成绩排序

    2021-06-24 16:51:43
    学生有学号,5门课成绩,以及平均分成绩,按平均分排列名次,若平均分相同则名次并列;结果屏幕输出并写入文件(file1——按学号排序;file2——按名次排序
  • C语言链表的创建插入删除排序,学生成绩排序和平均分计算#include#include#define NULL 0#define LEN sizeof(struct student)struct student{};int n;struct student *creat(void)//创建链表{struct student *head; ...
  •  给出n个学生的成绩,将这些学生按成绩排序,  排序规则,优先考虑数学成绩,高的在前;数学相同,英语高的在前;数学英语都相同,语文高的在前;三门都相同,学号小的在前 输入格式  第一行一个正整数n,表示...
  • C语言 1206: 单科成绩排序(结构体专题) 题目描述 有一学生成绩表,包括学号、姓名、3门课程成绩。请按要求排序输出:若输入1,则按第1门课成绩降序输出成绩表,若输入为i(1<=i<=3),则按第i门课成绩降序...
  • C语言对学生成绩排序

    千次阅读 2020-07-17 12:22:38
    特此附上代码,便于查看和学习 ... //定义一个数组来保存学生姓名和成绩 float mark[100],fTemp; int i,j,iNum; puts("请输入学生数"); scanf("%d",&iNum); puts("请分别输入姓名和成绩"); f
  • 希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录"基本有序"时,再对全体记录进行依次直接插入排序。算法步骤选择一个增量序列 t1,t2,……,tk,其中 ...
  • C语言结构体为主 按各科成绩的平均分进行排序后输出名次表
  • 任务1 输入/输出多个学生一门课程的成绩;; 一维数组的定义;说明:常量表达式表示元素的个数,即数组长度。 常量表达式中可以包括常量和符合常量,不能包含变量。 ;任务1 输入/输出多个学生一门课程的成绩;任务1 输入...
  • 判断学生成绩档次并输出,C语言,入门小程序,适用于C语言入门的小练习 判断学生成绩档次并输出,C语言,入门小程序,适用于C语言入门的小练习 判断学生成绩档次并输出,C语言,入门小程序,适用于C语言入门的小...
  • C语言成绩数组排序

    2020-12-26 19:09:23
    子函数中对30个成绩排序; #include<stdio.h> #define N 30 int main() { int ans[N],i; int fac(int ans[]); for(i=0; i<N; i++) scanf("%d",&ans[i]); fac(ans); for(i=0; i<N; i++) ...
  • C语言基础之按学号成绩排序

    千次阅读 2019-08-30 22:53:40
    时间限制:1秒空间限制:65536K热度指数:13306 ...用一维数组存储学号和成绩,然后,按成绩排序输出。 输入描述: 输入第一行包括一个整数N(1<=N<=100),代表学生的个数。 接下来的N行每行包括两个整数p和q...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 13,510
精华内容 5,404
关键字:

成绩排序c语言

c语言 订阅