当前位置:

首页 > 软件教程 > 按照分数从高到低排列的平均成绩实现对十个学生的输入

按照分数从高到低排列的平均成绩实现对十个学生的输入

输入十个学生的成绩分别用函数实现:平均成绩按分数从高到低#includevoidinput(float*g,intn){inti;for(i=0;i

本文目录

    输入十个学生的成绩分别用函数实现:平均成绩按分数从高到低

    输入十个学生的成绩分别用函数实现:平均成绩按分数从高到低

    #include

    void input(float *g,int n){

    int i;

    for(i=0; i

    printf("第 %d 个成绩:",i+1);

    scanf("%f",&g[i]);

    }

    }

    void output(float *g,int n){

    int i;

    for(i=0; i

    printf("%d %5.1f\n",i+1,g[i]);

    }

    void sort(float *g,int n){

    int i,j,k;

    float t;

    for(i=0; i

    t=g[i],k=i;

    for(j=i+1; j

    if(g[j]>t)

    t=g[j],k=j;

    g[k]=g[i];

    g[i]=t;

    }

    }

    float average(float *g,int n){

    int i;

    float s=0.0;

    for(i=0; i

    s+=g[i];

    return s/n;

    }

    void main()

    {

    float g[10];

    input(g,10);

    printf("排序前:\n");

    output(g,10);

    float a=average(g,10);

    printf("平均值:%6.2f\n",a);

    sort(g,10);

    printf("排序后:\n");

    output(g,10);

    }

    C语言编写按分数排序的函数

    展开全部

    楼上的用的是C++

    若单纯的用C那就是这样

    #include

    #define print "NO.%d %d %d %d %d %3.2f %3.2f\n",1+i,stu[i].num,stu[i].mat,stu[i].ENG,stu[i].com,stu[i].aver,stu[i].total//宏定义节约时间

    struct student

    {

    int num;

    int mat;

    int ENG;

    int com;

    float aver;

    float total;

    }stu[10];//定义结构体变量

    void main()

    { int i;

    void take_turn_print(struct student stu1[10]) ;

    float sum(int x,int y,int z);//声明和函数

    for(i=0;i<10;i++)

    scanf("%d%d%d%d",&stu[i].num,&stu[i].mat,&stu[i].ENG,&stu[i].com);

    for(i=0;i<10;i++)

    {

    stu[i].total=sum(stu[i].mat,stu[i].ENG,stu[i].com);//调用和函数

    stu[i].aver=stu[i].total/3;

    }

    take_turn_print(stu);//调用排序 打印函数

    }

    void take_turn_print(struct student stu1[10])

    {

    void change(int *x,int *y);//声明换位函数

    void change1(float *x,float *y);//声明换位函数

    int i,j;

    for(j=0;j<9;j++)//冒泡排序 为理解简单 就没用别的排序方法 哈哈

    {

    for(i=0;i<9-j;i++)

    {

    if(stu1[i].aver{

    change(&stu1[i].num,&stu1[i+1].num);// 值交换

    change(&stu1[i].mat,&stu1[i+1].mat);// 值交换

    change(&stu1[i].ENG,&stu1[i+1].ENG);// 值交换

    change(&stu1[i].com,&stu1[i+1].com);// 值交换

    change1(&stu1[i].aver,&stu1[i+1].aver);// 值交换

    change1(&stu1[i].total,&stu1[i+1].total);// 值交换

    }

    }

    }

    for(i=0;i<10;i++)

    printf(print);//打印

    }

    void change(int *x,int *y)

    {

    int i;

    i=*x;

    *x=*y;

    *y=i;//利用指针做变量替换

    }

    void change1(float *x,float *y)

    {

    float i;

    i=*x;

    *x=*y;

    *y=i;//利用指针做变量替换

    }

    float sum(int x,int y,int z)

    {

    float i;

    i=(float)(x+y+z);

    return(i);

    }

    前几天也是帮同学做这样的题

    一模一样

    看来你也是WH大学的

    用C编写函数实现排序设计排序算法对N个学生的成绩进行排序

    //a为输入的数据数组,n 为数组的元素个数,style 为排序方式

    //没有编译器,没测试

    void sort(int a[],int n,char style)

    {

    int i,j,t;

    n--;

    if (style=='a')

    {

    while(n>0)

    {j=0;

    for(i=0;i

    if(a[i]>a[i+1])

    { t=a[i];

    a[i]=a[i+1];

    a[i+1]=t;

    j=i;

    }

    n=j;

    }

    }

    else

    {

    while(n>0)

    {j=0;

    for(i=0;i

    if(a[i]

    { t=a[i];

    a[i]=a[i+1];

    a[i+1]=t;

    j=i;

    }

    n=j;

    }

    }

    }

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程
    相关文章 更多
    typora怎么高亮 文本标记语法设置
    typora怎么高亮 文本标记语法设置

    本教程演示如何在 Windows 版 Typora 中开启 Highlight 高亮功能,通过双等号语法标记重点文本,并展示如何编辑、取消高亮及验证源码保存状态。

    讯飞智作平台 在线创作功能介绍
    讯飞智作平台 在线创作功能介绍

    了解讯飞智作平台的在线创作流程:从文字配音到数字人视频生成,再到AIGC工具箱的素材处理。通过具体案例演示如何选择合适的功能入口、调整参数及核对成品权益,适合需要快速制作音频或播报视频的用户参考。

    gemini 官网 入口网页版登录访问方法
    gemini 官网 入口网页版登录访问方法

    本文详细介绍 Gemini 官方网页版入口地址、个人与组织账号登录流程、运行环境要求、账号体系差异对比及常见访问异常的排查解决方法。

    正版steam官网入口登录下载安装操作教程
    正版steam官网入口登录下载安装操作教程

    针对初次接触Steam平台的玩家,提供正版Steam官网网址识别、客户端官方安装包下载、本地安装配置及账号安全注册登录的详细图文操作教程。

    鼠标宏设置软件怎么设置?详细操作教程
    鼠标宏设置软件怎么设置?详细操作教程

    针对各类支持驱动配置的鼠标,系统梳理鼠标宏设置软件的核心设置逻辑、全流程操作步骤、运行模式选择与排错验证方法,帮助读者准确掌握宏功能的配置与使用。

    endnote怎么插入文献 Word添加引文步骤
    endnote怎么插入文献 Word添加引文步骤

    详解如何在 Word 中使用 EndNote 插件插入文献引用。涵盖从库中搜索记录、插入引文、选择样式到更新参考文献表的步骤,确保引文格式准确且可随时更新。

    再漫画官网首页入口及在线观看方法
    再漫画官网首页入口及在线观看方法

    了解如何进入再漫画官网首页,并通过界面导览熟悉分类浏览、搜索查找及在线阅读器的基本使用方法,提升阅读体验。

    Codex自动审查、缓存与额度重置有什么区别?
    Codex自动审查、缓存与额度重置有什么区别?

    针对Codex近期更新引发的讨论,本文厘清自动审查的功能边界,区分即时额度恢复与留存重置卡的不同,帮助用户理性评估更新价值,避免对缓存和权益产生误解。

    讯飞绘文ai AI写作功能介绍
    讯飞绘文ai AI写作功能介绍

    了解讯飞绘文AI写作功能:涵盖选题推荐、智能起稿、风格设定、知识融合及稿件校对。通过社区活动案例,掌握从构思到排版的完整操作逻辑,提升内容创作效率。

    讯飞绘文需要下载吗 网页版使用方式
    讯飞绘文需要下载吗 网页版使用方式

    想了解讯飞绘文是否必须安装软件?其实网页版即可满足日常文案创作需求。本文通过实际案例,一步步展示如何在浏览器中登录讯飞绘文、创建写作任务并保存结果,无需下载客户端也能高效工作。

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。