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

    千次阅读 2019-08-27 21:13:29
    查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 示例: jack 70 peter 96 Tom 70 smith 67 从高到低 成绩 peter 96 jack 70 Tom 70 ...

    题目描述:
    查找和排序
    题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩
    都按先录入排列在前的规则处理。
    示例:
    jack 70
    peter 96
    Tom 70
    smith 67
    从高到低 成绩
    peter 96
    jack 70
    Tom 70
    smith 67
    从低到高
    smith 67
    jack 70
    Tom 70
    peter 96
    输入描述:
    输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开
    输出描述:
    按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开
    示例1
    输入

    复制
    3
    0
    fang 90
    yang 50
    ning 70
    输出

    复制
    fang 90
    ning 70
    yang 50

    #include<stdio.h>
    #include<string.h>
    typedef struct Student{
        char a[10];
        int b;
    }Student;
    Student stu[1000];
    int jiang(int n)
    {
        int i,j;
        for(i=0;i<n;i++)
            for(j=0;j<n-i-1;j++)
            {
                if(stu[j].b<stu[j+1].b)
                {
                    stu[999]=stu[j];
                    stu[j]=stu[j+1];
                    stu[j+1]=stu[999];
                }
            }
        for(i=0;i<n;i++)
        {
            printf("%s %d\n",stu[i].a,stu[i].b);
        }
        return 0;
    }
     
    int sheng(int n)
    {
        int i,j;
        for(i=0;i<n;i++)
            for(j=0;j<n-i-1;j++)
            {
                if(stu[j].b>stu[j+1].b)
                {
                    stu[999]=stu[j];
                    stu[j]=stu[j+1];
                    stu[j+1]=stu[999];
                }
            }
        for(i=0;i<n;i++)
        {
            printf("%s %d\n",stu[i].a,stu[i].b);
        }
        return 0;
    }
    int main()
    {
        int n,m,i;
        while(~scanf("%d%d",&n,&m))
        {
            for(i=0;i<n;i++)
                scanf("%s%d",&stu[i].a,&stu[i].b);
            if(m==0)
               jiang(n);
            if(m==1)
                sheng(n);
        }
        return 0;
    }
    
    
    展开全文
  • #include#include#include#define RANDOM(i) (rand()%i)#define N9 //设置数组长度//分区操作int Partition(int array[], int left, int right){int i,j;int temp;j = left-1;for (i=left; i<...

    #include

    #include

    #include

    #define RANDOM(i) (rand()%i)

    #define N 9    //设置数组长度

    //分区操作

    int Partition(int array[], int left, int right)

    {

    int i,j;

    int temp;

    j = left-1;

    for (i=left; i<=right; i++)

    {

    if (array[i] <=  array[right]) //以最后一个数组的值为基准

    {

    j++;

    temp = array[j];

    array[j] = array[i];

    array[i] = temp;

    }

    }

    return j;

    }

    //迭代运算

    void QuikSort(int array[], int left, int right)

    {

    int pivot;

    if (left < right)

    {

    pivot = Partition(array, left, right);

    QuikSort(array, left, pivot-1);

    QuikSort(array, pivot+1, right);

    }

    }

    //示例

    int main()

    {

    int i = 0;

    int a[N];

    srand((int)time(0));  //设置随机数种子

    for (i=0; i

    {

    a[i] = RANDOM(100);

    printf("%d\t", a[i]);

    }

    printf("\n\n");

    QuikSort(a, 0, N-1);

    for (i=0; i

    {

    printf("%d\t", a[i]);

    }

    }

    展开全文
  • 先按成绩升序排,成绩相同则按名字字母序升序排,再相同的话按年龄升序排。参考代码:#include#include#includetypedefstructStu{charname[101];intage;intscore;}Stu;intcmp(constvoid*a,constvoid*b){Stu*c=(Stu*)a...

    注意事项:

    题目没说清楚。先按成绩升序排,成绩相同则按名字字母序升序排,再相同的话按年龄升序排。

    参考代码:

    #include

    #include

    #include

    typedef struct Stu{

    char name[101];

    int age;

    int score;

    } Stu;

    int cmp(const void *a, const void *b){

    Stu *c = (Stu *)a;

    Stu *d = (Stu *)b;

    if(c->score != d->score) return c->score - d->score;

    if(strcmp(c->name, d->name)) return strcmp(c->name, d->name);

    return c->age - d->age;

    }

    int main()

    {

    Stu stus[1000];

    int i, n;

    while(scanf("%d", &n) != EOF){

    getchar();

    for(i = 0; i 

    scanf("%s%d%d", stus[i].name, &stus[i].age, &stus[i].score);

    getchar();

    }

    qsort(stus, n, sizeof(stus[0]), cmp);

    for(i = 0; i 

    printf("%s %d %d\n", stus[i].name, stus[i].age, stus[i].score);

    }

    }

    return 0;

    }

    展开全文
  • 查找和排序 题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩 都按先录入排列在前的规则处理。 示例: jack70 peter96 Tom70 smith67 从高到低成绩 peter96 jack70 Tom70 smith...

     

    题目描述

    查找和排序

    题目:输入任意(用户,成绩)序列,可以获得成绩从高到低或从低到高的排列,相同成绩
    都按先录入排列在前的规则处理。

    示例:
    jack      70
    peter     96
    Tom       70
    smith     67

    从高到低  成绩 
    peter     96 
    jack      70 
    Tom       70 
    smith     67

    从低到高

    smith     67

    jack      70 
    Tom      70 
    peter     96

    输入描述:

    
     

    输入多行,先输入要排序的人的个数,然后输入排序方法0(降序)或者1(升序)再分别输入他们的名字和成绩,以一个空格隔开

    输出描述:

    按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开

    示例1

    输入

    复制

    3
    0
    fang 90
    yang 50
    ning 70

    输出

    复制

    fang 90
    ning 70
    yang 50

     

    #include<stdio.h>
    typedef struct{
        char name[10];
        int grade;
    }student;
    int main()
    {
        int n,flag,i,j;
        while(scanf("%d",&n)!=EOF)
        {
            student stu[1000],temp;
            scanf("%d",&flag);
            for(i=0;i<n;i++)
                 scanf("%s%d",stu[i].name,&stu[i].grade);
            for(i =0;i<n-1;i++){
                for( j = 0;j<n-i-1;j++){
                    if(flag==0){
                       if(stu[j].grade<stu[j+1].grade){
                        temp = stu[j+1];
                        stu[j+1] = stu[j];
                        stu[j] = temp;
                         }
                       }
                    if(flag==1){
                       if(stu[j].grade>stu[j+1].grade)
                       {
                        temp = stu[j+1];
                        stu[j+1] = stu[j];
                        stu[j] = temp;
                      }
                    }
                }
            }
            for(int i =0;i<n;i++)
                 printf("%s %d\n",stu[i].name,stu[i].grade);

        }
    }

     

    展开全文
  • 输入学生姓名、学号、成绩,会按学生成绩高低排序并输出排名,使用结构体存储,可通过学生学号查找学生成绩并修改(也可以选择不修改),
  • 解题思路:注意事项:注意姓名字符串的长度要大于8,因为这个调了很多次参考代码:#include#include#includeusingnamespacestd;structstudent{intnumber;charname[9];intscore;}buf[100000];boolcmp1(studenta,studentb...
  • 50)个学生的成绩排名,按照学生平均成绩从高到低输出他们的信息源代码:/*学生成绩排序*//*输入n(n<50)个学生的成绩排名,按照学生平均成绩从高到低输出他们的信息*/#includestruct student{int num;char name[10...
  • C语言 冒泡排序(成绩排序实例)

    千次阅读 2020-05-04 22:33:44
    任意输入一组正整数数据,以负数结尾,使用冒泡排序进行从大到小排序 具体代码如下 #include <stdio.h> int main() { int num[40]={0},i,j,t,n=0; scanf("%d",&num[n]); while(num[n]>=0){ n++; ...
  • 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...
  • 文件操作 请输入操作代码(1~6):"); scanf("%d",&a); switch(a) { case 1: printf("请输入学生学号:"); scanf("%d",&c); for(b=0;b=99) printf("空间已满! "); break; case 4: printf("请输入要删除的那个学生学号:...
  • 成绩排序代码

    2012-11-16 15:28:47
    简单的C语言输入输出排序文件 适合初学者学习结构体、排序技术。
  • 排序->输出注意事项:1、比较字符串需要用到strcmp(str1,str2);2、这个题的输入并不是一次,而是需要多组数据输入;参考代码(自定义函数):#include#include#include//里面有strcmp(str1,str2);函数//定义一个...
  • 1、排序:重排表中元素。2、根据数据元素是否完全在内存中,将排序算法分为内部排序和外部排序两类。3、插入排序:将一个待排序记录按关键字大小插入到前面已排好的子序列中,直到全部记录插入完成。1)直接插入排序...
  • 学生成绩管理,c语言课程设计代码,基于菜单的,里面写的注释也许够用,主要实现了,添,删,改,查,排序。注意没使用文件存储,使用的是结构体数组
  • C语言对学生成绩排序

    千次阅读 2020-07-17 12:22:38
    特此附上代码,便于查看和学习 #include<stdio.h> #include<string.h> int main() { char Name[100][20],cTemp[20]; //定义一个数组来保存学生姓名和成绩 float mark[100],fTemp; int i,j,iNum; ...
  • 成绩排序C语言

    万次阅读 2018-03-12 11:07:21
    #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { int total = 0,i = 0,j = 0; int model = 0,temp = 0; int data[100]; char name[100][100],var[100];...to...
  • C语言排序

    2020-09-28 21:29:51
    C语言:桶排序 比如十分制的成绩排名 首先需要对数组进行初始化,全部赋为0(表示0到10分值暂时没有出现过) 然后用for循环来输入值(分数) 将输入的分数的赋给数组下标 那么所对应的值加一(表示该分数出现一次) ...
  • 好用 #include #include #include typedef struct stu { char sz_Name[20]; char sz_ID[11]; char sz_Class[10]; float r_Score[3]; }student; #define STU_MAXSIZE 60 int i_... printf("4:平均成绩排序 \n");
  • 满意答案fp7675推荐于 2016.10.30采纳率:48%等级:11已帮助:4525人#includestructstd//定义学生结构体,包含学好number,成绩score,名次mc{intnumber;intscore;intmc;};#defineN100intmain(){inti,j,max,num;...
  • 题目描述:从键盘输入10个人的成绩,按升序排列输出。 #include<stdio.h> #define N 10 main() { int a[N],i,j,md; printf("输入10个人的成绩:"); for(i=0;... //冒泡排序 for(i=0;i&...
  • 用希尔排序法对一组数据由小到大进行排序,数据分别为 69、56、12、136、3、55、46、 99、88、25。...程序代码如下:#include int shsort(int s[], int n) /* 自定义函数 shsort()*/{int i,j,d;d=n/2; /*确定...
  • c语言成绩管理系统拥有和hello word一样的江湖地位,初学C语言的朋友基本都会从管理系统开始入手学习,对于很多大学生来说更是如此,今天为大家带来的这款系统以及源码希望能对大家学习学C语言有所帮助,欢迎下载...
  • C语言成绩查询系统》由会员分享,可在线阅读,更多相关《C语言成绩查询系统(35页珍藏版)》请在人人文库网上搜索。1、C语言成绩查询系统C 语言大作业姓名:班级:学号:指 导 教 师:设 计 时 间:2目录一 .目的4二 ....
  • C语言成绩查询系统C语言成绩查询系统C 语言大作业姓名:班级:学号:指 导 教 师:设 计 时 间:2目录一 .目的4二 .题目描述和要求4三 .报告内容63.1 需求分析63.2 概要设计63.3 详细设计83.4 主要源程序代码93.5 测试...
  • C语言基础之按学号成绩排序

    千次阅读 2019-08-30 22:53:40
    时间限制:1秒空间限制:65536K热度指数:13306 ...用一维数组存储学号和成绩,然后,按成绩排序输出。 输入描述: 输入第一行包括一个整数N(1<=N<=100),代表学生的个数。 接下来的N行每行包括两个整数p和q...
  • 现有有N个学生的数据记录,每个记录包括学号、姓名、三科成绩。 编写一个函数input,用来输入一个学生的数据记录。 编写一个函数print,打印一个学生的数据记录。 在主函数调用这两个函数,读取N条记录输入,再按要求...
  • 1、连接两个字符串将两个字符串连接,不要用stract函数2、求矩阵外围元素之和求3行3列...5、字符串a下标值为偶数的元素由小到大排序,其他元素不变 6、十进制正整数转换为二进制编写函数,将任意十进制正整数转换...
  • C语言成绩管理

    2013-03-29 18:32:59
    完成某学期的学生成绩的管理。 问题描述: ...将经过排序成绩及总成绩、平均成绩输出到文件score.out中。 要求将程序分成几个独立的模块,组成几个源程序,然后连接成一个可运行目标程序,运行得到结果。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,910
精华内容 3,164
热门标签
关键字:

c语言成绩排序代码

c语言 订阅