(指针方法处理)有一个班4个学生,5门课程.1)求第一门课程的平均分; 2)找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;3)找出平均成绩在90分以上或全部课程成绩在85分以上的学生.分别编三个函数实现以上三个要求

#define _CRT_SECURE_NO_WARNINGS

#include

#include

#define N 4//N个学生

#define M 6//M - 1门课程

void print0() {

printf("学号\t");

for (int i = 0; i < M - 1; ++i) {

printf("成绩%d\t", i + 1);

}

}

void print(int i, double(*p)[M]) {

printf("\n");

for (int j = 0; j < M; ++j) {

if (j == 0) {

printf("%.0f\t", *(*(p + i) + j));

}

else {

printf("%.3f\t", *(*(p + i) + j));

}

}

printf("\n");

}

double class1_aver(int n, double(*p)[M]) {//计算第n门课的成绩

double sum = 0;

for (int i = 0; i < N; ++i) {

sum += *(*(p + i) + n);

}

return sum / N;

}

void fail(double(*p)[M]) {

int count = 0;

double sum = 0;

for (int i = 0; i < N; ++i) {

count = 0;

sum = 0;

for (int j = 1; j < M; ++j) {

if (*(*(p + i) + j) < 60.0) {

count += 1;

}

}

if (count >= 2) {

for (int j = 1; j < M; ++j) {

sum += *(*(p + i) + j);

}

printf("如下该学生有超过两门课程成绩不及格\n");

print0();

print(i, p);

printf("\n平均成绩为%.3f\n\n", sum / (M - 1));

}

}

}

void excellent(double(*p)[M]) {

int count = 0;

double sum = 0;

for (int i = 0; i < N; ++i) {

count = 0;

sum = 0;

for (int j = 1; j < M; ++j) {

sum += *(*(p + i) + j);

if (*(*(p + i) + j) >= 85) {

count += 1;

}

}

if (count == M - 1) {

printf("如下该学生有所有成绩均超过85分\n");

print0();

print(i, p);

printf("\n平均成绩为%.3f\n", sum / (M - 1));

}

else if (sum / (M - 1) >= 90) {

printf("如下该学生有所有成绩平均分超过90分\n");

print0();

print(i, p);

printf("\n平均成绩为%.3f\n", sum / (M - 1));

}

}

}

void main() {

double stu[N][M];

double(*p)[M] = stu;

for (int i = 0; i < N; ++i) {

for (int j = 0; j < M; ++j) {

if (j == 0) {

printf("请输入第%d名学生的学号\n", i + 1);

while (1) {

scanf("%lf", *(p + i) + j);

if (i == 0) {

break;

}

if (*(*(p + i) + j) != *(*(p + i - 1) + j)){

break;

}

printf("您的输入的学号与第%d名学生学号相同都为%.0f,请重新输入\n", i, *(*(p + i - 1) + j));

}

continue;

}

printf("请输入该学生的第%d门成绩\n", j);

scanf("%lf", *(p + i) + j);

}

system("cls");

}

print0();

for (int i = 0; i < N; ++i) {

print(i, p);

}

printf("\n第一门课程的平均分为:\n%.3f\n\n", class1_aver(1, p));

fail(p);

excellent(p);

system("pause");

}

两门课成绩平均分c语言,【函数C语言面试题】面试问题:C语言(指针方… - 看准网...相关推荐

  1. c语言面试题东软,【东软集团程序员Java东软集团C语言面试题】面试问题:东软java面… - 看准网...

    当天我很早的就来到面试地点,其实我们还有课<算法分析与设计>,但是我们逃了吧,逃课的不止我一人,还有王凯,还有唐建军,王川,还有我的好友刘冠春.他们逃课也许是为了对面试做一个充分的准备吧, ...

  2. C语言习题:输入10个学生5门课的成绩,分别用函数求:①每个学生平均分;②每门课的平均分;③找出所有分数中最高分

    初学C语言,然后遇到一题: 输入10个学生5门课的成绩,分别用函数求:①每个学生平均分:②每门课的平均分:③找出所有分数中最高分 直接上代碼 注:自定义函数(xpj,kpj,maxj)我直接放在最前面 ...

  3. (c语言 )输入10个学生5门课的成绩,分别用函数求:每个学生平均分;每门课的平均分;

    c语言 输入10个学生5门课的成绩,分别用函数求: 每个学生平均分: 每门课的平均分: #include <stdio.h> #include<math.h>float Row ...

  4. C语言习题:输入10个学生5门课的成绩,分别用函数实现下列功能:①计算每个学生的平均分;②计算每门课的平均分;③找出所有50个分数中最高的分数所对应的学生和课程;④计算平均分方差;

    ***题目:***输入10个学生5门课的成绩,分别用函数实现下列功能: ①计算每个学生的平均分; ②计算每门课的平均分; ③找出所有50个分数中最高的分数所对应的学生和课程; ④计算平均分方差; /* ...

  5. 求两门成绩平均c语言,数据结构课的作业 要求用链表实现学生的学号 姓名 两门课的成绩 同时求出课程的平均成绩...

    数据结构课的作业 要求用链表实现学生的学号 姓名 两门课的成绩 同时求出课程的平均成绩 关注:69  答案:2  mip版 解决时间 2021-02-04 09:43 提问者孤城古巷 2021-02- ...

  6. Java编程语言学习:Java语言基础案例(如求两门课分数之差、三门课平均分、关系运算符作比较)之详细攻略

    Java编程语言学习:Java语言基础案例(如求两门课分数之差.三门课平均分.关系运算符作比较)之详细攻略 目录 Java语言基础案例 1.求两门课分数之差.三门课平均分: 2.关系运算符作比较

  7. ACMNO.44 C语言-平均分 有N个学生,每个学生的数据包括学号、姓名、3门课的成绩,从键盘输入N个学生的数据,要求打印出3门课的总平均成绩,以及最高分的学生的数据(包括学号、姓名、3门课成绩)

    题目描述 有N个学生,每个学生的数据包括学号.姓名.3门课的成绩, 从键盘输入N个学生的数据, 要求打印出3门课的总平均成绩,以及最高分的学生的数据 (包括学号.姓名.3门课成绩) 输入 学生数量N占 ...

  8. 【C语言】#文件操作#有5个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号、姓名、3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中。

    题目: (1)有5个学生,每个学生有3门课程的成绩,从键盘输入以上数据(包括学号.姓名.3门课成绩),计算出平均成绩,将原有数据和计算出的平均分数存放在磁盘文件stud中. 设5名学生的学号.姓名和3 ...

  9. PTA】{10-1 结构拓展实验,函数}6-3 求某学生8门课的平均分 (10 分)

    先赞后看,是好习惯!!! 某学生的记录由学号.8门课成绩和平均分组成,学号和8门课成绩在主函数中给出.编写fun函数,功能是:求出该学生的平均分放在ave成员中.函数中的参数由学生自己给出. 函数接口 ...

最新文章

  1. leetcode71
  2. g4e基础篇#5 创建分支和保存代码
  3. bootstrap3 表单构建器_FastReport.NET报表设计器连接到OracleDB关系数据库
  4. Windows10 64位 安装 Postgresql 数据库
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的家庭理财管理系统
  6. 路径规划之空间采样算法研究现状简述
  7. Linux安装redis及redis的php扩展。
  8. web前端 html+css+javascript网页设计实例 家乡网站制作
  9. 把svg图标制作成字体图标_SVG图标FTW
  10. 12306 订票助手(火车票订票插件)
  11. python 实现模拟鼠标点击器 可运行 附源码
  12. ugui scrollview 3d特效 裁减
  13. sqlserver数据库安全
  14. QUIC构建1——chromium镜像,clone文件depot_tools的过程+git过程中的问题
  15. 相似图片搜索原理一(ahash—c++实现)
  16. 具有测绘专业背景的学生的GIS学习规划
  17. aws scp上传下载文件
  18. 绘制linspace函数图像均分计算指令
  19. 网络没问题,MSN登录不了解决方法
  20. vim 复制一整行 复制多行

热门文章

  1. 使用图形注意网络进行欺诈检测
  2. 精选10个圣诞树效果,这个圣诞更有技术范
  3. ROS2_Foxy学习10——多机激光SLAM准备篇
  4. iOS 指纹认证登陆开发(TouchID)
  5. android 文件过滤驱动,自己写的Xuetr工具驱动读写过滤驱动,并奉献上源码
  6. 好用的综合revit插件丨revit标高中段线的隐藏方法
  7. 三菱PLC各型号之间的区别
  8. linux一条命令写两行,linux每天一条命令,第二天-cat
  9. ios通过URL地址,从网络上获取图片
  10. 常用的layer弹出层