Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >差等生还是优等生

差等生还是优等生

作者头像
小Bob来啦
发布于 2020-12-15 01:36:50
发布于 2020-12-15 01:36:50
34400
代码可运行
举报
运行总次数:0
代码可运行

Think twice in all things, but think twice before you leap.

凡事要三思,但比三思更重要的是三思而后行。

帮助小伙伴改了一道题,如下:

任务:

有一个班4个学生,5门课程。

求第n门课程的平均分(1<=n<=5);

找出有m门以上课程不及格的学生(1<=m<=5),输出他们的学号和全部课程成绩及平均成绩;

找出平均成绩在x分以上或全部课程成绩在y分以上的学生,分别编写3个函数实现以上3个要求。

样例:

学号 成绩1 成绩2 成绩3 成绩4 成绩5

001 90.0 75.5 80.0 59.0 43.0

002 88.5 75.0 96.0 57.0 60.5

003 89.0 87.0 86.0 90.4 100.0

004 98.0 96.0 99.0 85.0 82.0

输入:

3

2

90

85

输出:

第3门课程的平均分为:

90.25

有2门以上课程不及格的学生信息为:

学号:

001

全部成绩:

90.0 75.5 80.0 59.0 43.0

平均成绩:

69.5

平均成绩在90分以上的学生为:

003 004

全部课程成绩在85分以上的学生为:

003

源代码(部分代码来自这位小伙伴哦):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include <stdio.h>
void first_average(float (*p)[6],int n);
void fail(float (*p)[6],int m,int grade);
void excellent(float (*p)[6],int n);
int main()
{
    float sh[4][6]={{90.0,75.5,80.0,59.0,43.0,001},{88.5,75.0,96.0,57.0,60.5,002},{89.0,87.0,86.0,90.4,100.0,003},{98.0,96.0,99.0,85.0,82.0,004}};
    float (*p)[6]; //定义行指针
    int average,no,grade,ave_gra;
    p=sh;
    scanf("%d",&average);
    scanf("%d",&no);
    scanf("%d",&grade);
    scanf("%d",&ave_gra);
    printf("第%d门课的平均分为:\n",average);
    first_average(p,average);
    printf("有%d门以上不及格的学生信息为:\n",no);
    fail(p,no,grade);
    printf("全部课程成绩在%d分以上的学生为:\n",ave_gra);
    excellent(p,ave_gra);
    return 0;
}
void first_average(float (*p)[6],int n)
{
    float ave=0;
    int i=0;
    for(;i<4;i++)
        ave=ave+p[i][n-1];
    ave=ave/4;
    printf("%.2f\n",ave);
}

void fail(float (*p)[6], int m, int grade) {
    int i, j, k = 0;
    float ave = 0;
    for (i = 0; i < 4; i++) {
        for (j = 0; j < 5; j++) {
            if (*(*(p + i) + j) < 60)
                k++;
            if (k == m) {
                printf("学号为:\n");
                printf("00%.0f\n", p[i][j + 1]);
                printf("全部成绩:\n");
                for (j = 0; j < 5; j++) {
                    ave = ave + *(*(p + i) + j);
                    printf("%.1f", *(*(p + i) + j));
                }
                printf("\n");
                ave = ave / 5;
                printf("平均成绩:\n");
                printf("%.1f\n", ave);
                k = 0;
            }
        }
    }
    printf("平均成绩在%d分以上的学生为:\n",grade);
    for (i = 0; i < 4; i++) {
        for (j = 0; j < 5; j++) {
            ave = ave + *(*(p + i) + j);
        }
        ave = ave / 5;
        if(ave>grade){
            printf("00%.0f ",*(*(p + i) + j));
        }
        ave=0;
    }
    printf("\n");
}
void excellent(float (*p)[6],int n)
{
    int i,j;
    float ave=0,k=0;
    for(i=0;i<4;i++){
        for(j=0;j<5;j++){
            ave=ave+*(*(p+i)+j);
            if(*(*(p+i)+j) > n)
                k++;
        }
        if(k==5)
            printf("00%.0f",*(*(p+i)+5));
        ave=0;
        k=0;
    }
}

运行结果:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员Bob 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C语言学生成绩管理系统(设计报告和全部源码)「建议收藏」
实现如下功能: 1)能够实现学生成绩信息的插入、删除和修改; 2)能够实现各种查询(分别根据学生学号、姓名、课程名称等); 3)能够实现按照考试成绩、总评成绩进行排序; 4)能够查询某门课程的最高分、最低分并输出相应学生信息; 5)能够查询某门课程的优秀率(90 分及以上)、不及格率;
全栈程序员站长
2022/09/06
4K0
C语言学生成绩管理系统(设计报告和全部源码)「建议收藏」
统计计算学生成绩类问题汇总
(注:暂时先记录这些问题,后期再持续更新) 1,输入一个正整数n,再输入n个学生的成绩,计算平均分,并统计不及格成绩的学生人数。 int count,i,n; //count 为记录不及格成绩的个数 double grade,total; //grade 存放输入的成绩,total保存成绩之和 printf("Enter n:"); scanf("%d",&n); //输入学生人数n total = 0; count = 0; for(i=1;
Zoctopus
2018/06/04
7580
【学生管理系统C语言】没有用数据库,正在学习C语言的看看吧
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<math.h> # define SIZE1 33 # define SIZE2 7 # define PI 3.14159 struct student_grade //学生成绩 { intnum; //学号 char
赵腰静
2018/03/09
1.8K0
MySQL实战四:查询再续
MySQL学习仓库Up-Up-MySQL,这是一个学习MySQL从入门实战到理论完善,再到精通的一个仓库,后面会把MySQL的学习资料上传上去!欢迎大家star与fork起来!
公众号guangcity
2019/09/20
1.1K0
c语言学生管理系统(上)
你好!如果这是你第一次使用 c语言做完整的一个简单小程序,以下内容包括每个功能函数。如果你想学习c语言不那么枯燥, 可以仔细阅读这篇文章,了解一下c语言的基本语法知识。 **
全栈程序员站长
2022/07/25
7210
c语言学生管理系统(上)
C语言 | 输出平均成绩最高学生的信息
例41:有n个结构体变量,内含学生的学号,学号,和三门成绩。要求输出平均成绩最高学生的信息(包括学号、姓名、三门课程成绩和平均成绩)
小林C语言
2020/12/22
2.2K0
C语言 | 输出平均成绩最高学生的信息
程序设计基础课程设计
4.插入新成绩:从键盘输入一个新学生的成绩,将新成绩按照已排序的成绩顺序(从高到低)插入到数组a中。
Perianth
2024/06/24
4260
【重拾C语言】四、循环程序设计(后判断条件循环、先判断条件循环、多重循环;典例:计算平均成绩、打印素数、百钱百鸡问题)
后判断条件的循环是指在循环体内先执行一次循环,然后再检查循环条件是否满足。如果条件为真,则继续执行循环,直到条件为假时结束循环。它的基本语法如下:
Qomolangma
2024/07/30
2360
【重拾C语言】四、循环程序设计(后判断条件循环、先判断条件循环、多重循环;典例:计算平均成绩、打印素数、百钱百鸡问题)
【c语言】简单学生信息管理系统
1.有10个学生,每个学生的数据包括学好、姓名、4门课的成绩、总成绩和平均成绩。从键盘输入10个学生的数据(包括学好、姓名以及4门课的成绩),要求打印出每位学生的学号、姓名、4门课的成绩、总成绩和平均成绩,最后打印出来最高分的学生的数据(包括学号、姓名、4门课的成绩、总成绩和平均成绩)以及4门课的总平均成绩。具体要求: (1)根据学生信息定义一个结构体类型,再定义一个该结构体类型的数组。 (2)定义一个input函数用于从键盘上输入10个学生的数据 (3)定义一个average函数用于求每个学生总成绩、平均成绩和所有学生的总平均成绩。 (4)定义一个maximum函数用于找出最高分的学生的数据。
栋先生
2018/09/29
3.6K0
学生成绩管理系统(C语言版)
C语言版学生成绩管理系统 教材里的,要提交实验报告,能实现以下功能。 #include "stdio.h" #include "stdlib.h" #include "string.h" #define MAX_LRN 10 #define STU_NUM 30 #define COURSE_NUM 6 typedef struct student { long num; char name[MAX_LRN]; float score[COURSE_NUM]; fl
繁依Fanyi
2023/05/07
1.1K0
学生成绩管理系统(C语言版)
mysql练习:经典50道基础题
建表共4张表,分别对应学生信息(Student)、课程信息(Course)、教师信息(Teacher)以及成绩信息(SC)
不愿意做鱼的小鲸鱼
2023/02/01
1.2K0
大一C语言实训与总结
} 修正后的程序没有语法错误。执行结果将打印出 a=0 f=134.23,其中 a 的值为 0,f 的值为 134.23。
千山暮海雪
2024/12/25
1080
Contest100000572 – 《算法笔记》2.8小节——C/C++快速入门->结构体(struct)的使用
http://codeup.cn/contest.php?cid=100000572 Problem A: C语言11.1 Time Limit: 1 Sec Memory Limit: 32 M
可定
2020/04/20
9440
C语言计算总平均分及第n个人的成绩
例32:有一个班,3个学生,各学习4门课,C语言编程实现计算总平均分数以及第n个学生的成绩,要求使用指针。
小林C语言
2020/12/11
9940
C语言计算总平均分及第n个人的成绩
按格式读写文件存取学生信息(含注释)
The conquest of today, coward lamented yesterday, idle waiting for tomorrow.
小Bob来啦
2020/12/15
8170
按格式读写文件存取学生信息(含注释)
从零开始 | C语言基础刷题DAY2
题目:班级成绩输入输出 描述:输入一个班级5个学生各5科成绩,输出5个学生各5科成绩及总分。 输入描述: 五行,每行输入一个学生各5科成绩(浮点数表示,范围0.0~100.0),用空格分隔。 输出描述: 五行,按照输入顺序每行输出一个学生的5科成绩及总分(小数点保留1位),用空格分隔。 示例1 输入: 98.5 96.0 100 99 88 60.5 77 88.5 99 60 80 80.5 89 91 92 93 94 95.5 96 97.5 100 98 88.5 88 78.5 输出: 98.5 96.0 100.0 99.0 88.0 481.5 60.5 77.0 88.5 99.0 60.0 385.0 80.0 80.5 89.0 91.0 92.0 432.5 93.0 94.0 95.5 96.0 97.5 476.0 100.0 98.0 88.5 88.0 78.5 453.0
折枝寄北
2025/03/13
580
从零开始 | C语言基础刷题DAY2
【趣学C语言和数据结构100例】41-45
42.(约瑟夫环问题)有 n 个人围成一圈,顺序排号。从第 1 个人开始报数(从 1 到 3 报数),凡报到 3 的人退出圈子,问最后留下的是原来第几号的那位,用指针+数组实现。
LucianaiB
2024/10/27
930
【趣学C语言和数据结构100例】41-45
R7-1 学生平均成绩排序
假设学生的基本信息包括学号、姓名、三门课程成绩以及个人平均成绩,定义一个能够表示学生信息的结构类型。输入n(n<50)个学生的成绩信息,按照学生的个人平均分从高到低输出他们的信息。
苏泽
2024/03/01
2640
C语言结构体数组、指针与函数-学习二十八
本文最后更新于2022年02月24日,已超过4天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
XG.孤梦
2022/03/01
1.1K0
C语言结构体数组、指针与函数-学习二十八
c语言学生成绩管理系统(c语言链表实现学生管理系统)
二、目的与要求 每位学生记录包含有学号、姓名、性别、出生日期、三门功课的成绩(高等数学、大学英语、C语言)、总分和平均分 系统菜单: (1)录入学生记录 (2)添加学生记录 (3)删除学生记录 (4)修改学生记录(要求输入密码) (5)查找学生记录(按学号、按姓名) (6)按总分对记录进行降序排列 (7)将当前结果显示或打印,重新保存进数据文件中 (8)输出所有学生信息 (9)计算班级平均分 (10)修改管理员密码(未保存至文件,程序关闭后失效) (11)C语言挂科人数 (0)结束程序
全栈程序员站长
2022/07/25
4.3K0
c语言学生成绩管理系统(c语言链表实现学生管理系统)
推荐阅读
相关推荐
C语言学生成绩管理系统(设计报告和全部源码)「建议收藏」
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验