用指针实现,一个班有四个学生,每个学生有5门课程的成绩,实现三种函数的结果

本文主要是介绍用指针实现,一个班有四个学生,每个学生有5门课程的成绩,实现三种函数的结果,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//第三章的第15题,一个班级四个学生,5门课程
#include<stdio.h>
#include<math.h>
void aver(int (*p)[5])
{int i=0,j;float ave;
float sum=0;for(j=0;j<5;j++){sum+=*(*(p+i)+j);}ave=sum/4;//总共有四个学生printf("第一门课的平均分是:%f\n",ave);}void oup(int (*p)[5],int *x)
{int n=0;//记录不及格的科目数是多少int i,j,t;float ave;float sum=0;for(i=0;i<4;i++){for(j=0;j<5;j++){if(*(*(p+i)+j)<60)n++;if(n>=2){printf("这个学生的学号是:%d\n",*(x+i));for(t=i,j=0;j<5;j++){printf("学号为%d的学生的各科成绩为%d\t",*(x+i),*(*(p+i)+j));sum+=*(*(p+i)+j);ave=sum/5;}printf("输出第%d学生的平均成绩为%f\n",*(x+i),ave);}}}}//以上两个函数的实现均是正确的//再来看下面这个函数的实现是有问题的
void abov(int (*p)[5],int *x)
{int i,j,k;float ave,sum=0;for(i=0;i<4;i++){for(j=0;j<5;j++){sum+=*(*(p+i)+j);}ave=sum/5;//  for(k=0;k<5;k++)if(ave>90)printf("%d学号的学生\n",*(x+i));}//平均数大于90或者没门课程都大于85,//或者的情况没有考虑}
int main()
{int a[4][5]={{35,56,67,78,98},{45,55,67,77,88},{34,45,56,67,78},{67,88,89,90,77}};//每个学生的五个课程是int b[4]={1,2,3,4};//学生的学号是这么多//  float *p(float);//定义一个指针函数aver(a);oup(a,b);abov(a,b);return 0;
}

自我感觉实现的第三个小题有点问题,比如找出所有科目的成绩均大于85或者是平均成绩在90以上的学生的学号是多少?我目前只考虑了一种平均成绩大于90的情况

 

本题为谭浩强第四版第八章的第15题

有很多不足的地方,大家感兴趣的话可以帮忙指正一下。

这篇关于用指针实现,一个班有四个学生,每个学生有5门课程的成绩,实现三种函数的结果的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/590559

相关文章

shell编程之函数与数组的使用详解

《shell编程之函数与数组的使用详解》:本文主要介绍shell编程之函数与数组的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录shell函数函数的用法俩个数求和系统资源监控并报警函数函数变量的作用范围函数的参数递归函数shell数组获取数组的长度读取某下的

openCV中KNN算法的实现

《openCV中KNN算法的实现》KNN算法是一种简单且常用的分类算法,本文主要介绍了openCV中KNN算法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录KNN算法流程使用OpenCV实现KNNOpenCV 是一个开源的跨平台计算机视觉库,它提供了各

OpenCV图像形态学的实现

《OpenCV图像形态学的实现》本文主要介绍了OpenCV图像形态学的实现,包括腐蚀、膨胀、开运算、闭运算、梯度运算、顶帽运算和黑帽运算,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起... 目录一、图像形态学简介二、腐蚀(Erosion)1. 原理2. OpenCV 实现三、膨胀China编程(

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT

MySQL高级查询之JOIN、子查询、窗口函数实际案例

《MySQL高级查询之JOIN、子查询、窗口函数实际案例》:本文主要介绍MySQL高级查询之JOIN、子查询、窗口函数实际案例的相关资料,JOIN用于多表关联查询,子查询用于数据筛选和过滤,窗口函... 目录前言1. JOIN(连接查询)1.1 内连接(INNER JOIN)1.2 左连接(LEFT JOI

Android实现打开本地pdf文件的两种方式

《Android实现打开本地pdf文件的两种方式》在现代应用中,PDF格式因其跨平台、稳定性好、展示内容一致等特点,在Android平台上,如何高效地打开本地PDF文件,不仅关系到用户体验,也直接影响... 目录一、项目概述二、相关知识2.1 PDF文件基本概述2.2 android 文件访问与存储权限2.

使用Python实现全能手机虚拟键盘的示例代码

《使用Python实现全能手机虚拟键盘的示例代码》在数字化办公时代,你是否遇到过这样的场景:会议室投影电脑突然键盘失灵、躺在沙发上想远程控制书房电脑、或者需要给长辈远程协助操作?今天我要分享的Pyth... 目录一、项目概述:不止于键盘的远程控制方案1.1 创新价值1.2 技术栈全景二、需求实现步骤一、需求

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

SpringBatch数据写入实现

《SpringBatch数据写入实现》SpringBatch通过ItemWriter接口及其丰富的实现,提供了强大的数据写入能力,本文主要介绍了SpringBatch数据写入实现,具有一定的参考价值,... 目录python引言一、ItemWriter核心概念二、数据库写入实现三、文件写入实现四、多目标写入

Android Studio 配置国内镜像源的实现步骤

《AndroidStudio配置国内镜像源的实现步骤》本文主要介绍了AndroidStudio配置国内镜像源的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、修改 hosts,解决 SDK 下载失败的问题二、修改 gradle 地址,解决 gradle