*2、 分别求取王华、李阳两同学三门课(数学、外语、计算机)的平均成绩,并作出评价( 大于80为优秀、大于60为 合格、小于60为不合格)。(要求: 使用指针函数、素。_函数指针、指针数组。_.数组指钍).

时间: 2023-08-31 18:22:22 浏览: 49
### 回答1: 王华的平均成绩为:(数学+外语+计算机)/3 李阳的平均成绩为:(数学+外语+计算机)/3 使用指针函数和数组指针的代码如下: ```c #include <stdio.h> #define COURSE_NUM 3 void get_average(int *scores, int num, float (*average)[COURSE_NUM]); void evaluate(float (*average)[COURSE_NUM]); int main() { int scores[2][COURSE_NUM] = {{90, 85, 95}, {70, 80, 75}}; float average[2][COURSE_NUM]; get_average(scores[0], COURSE_NUM, &average[0]); get_average(scores[1], COURSE_NUM, &average[1]); evaluate(&average[0]); evaluate(&average[1]); return 0; } void get_average(int *scores, int num, float (*average)[COURSE_NUM]) { int i; float sum = 0; for (i = 0; i < num; i++) { sum += *(scores + i); } **average = sum / num; *average += 1; } void evaluate(float (*average)[COURSE_NUM]) { int i; int flag = 0; for (i = 0; i < COURSE_NUM; i++) { if (*(*average + i) < 60) { flag = 1; break; } else if (*(*average + i) < 80) { continue; } else { flag = 2; } } switch (flag) { case 0: printf("优秀\n"); break; case 1: printf("不合格\n"); break; case 2: printf("合格\n"); break; } } ``` 使用函数指针和指针数组的代码如下: ```c #include <stdio.h> #define COURSE_NUM 3 void get_average(int *scores, int num, float **average); void evaluate(float **average); int main() { int scores[2][COURSE_NUM] = {{90, 85, 95}, {70, 80, 75}}; float *average[2]; get_average(scores[0], COURSE_NUM, &average[0]); get_average(scores[1], COURSE_NUM, &average[1]); evaluate(&average[0]); evaluate(&average[1]); return 0; } void get_average(int *scores, int num, float **average) { int i; float sum = 0; *average = (float *)malloc(num * sizeof(float)); for (i = 0; i < num; i++) { sum += *(scores + i); } **average = sum / num; } void evaluate(float **average) { int i; int flag = 0; for (i = 0; i < COURSE_NUM; i++) { if (*(*average + i) < 60) { flag = 1; break; } else if (*(*average + i) < 80) { continue; } else { flag = 2; } } switch (flag) { case 0: printf("优秀\n"); break; case 1: printf("不合格\n"); break; case 2: printf("合格\n"); break; } } ``` 以上两种方法都可以求取平均成绩并作出评价。 ### 回答2: 为了求取王华和李阳两位同学的平均成绩,我们可以使用指针数组和指针函数来进行操作。 首先,我们定义一个包含3个指针的指针数组,用来存储王华和李阳两位同学的数学、外语和计算机成绩。然后,我们为每门课程分别定义一个指针函数,用来计算每个同学的平均成绩。 下面是具体的实现过程: ```cpp #include <iostream> // 定义指针数组,存储两位同学的成绩 float* scores[2]; // 计算平均成绩的函数 float getAverage(float* scores) { float sum = 0; for (int i = 0; i < 3; i++) { sum += scores[i]; } return sum / 3; } int main() { // 输入王华的三门课成绩 float w_score_math, w_score_foreign, w_score_computer; std::cout << "请输入王华的数学成绩:"; std::cin >> w_score_math; std::cout << "请输入王华的外语成绩:"; std::cin >> w_score_foreign; std::cout << "请输入王华的计算机成绩:"; std::cin >> w_score_computer; // 输入李阳的三门课成绩 float l_score_math, l_score_foreign, l_score_computer; std::cout << "请输入李阳的数学成绩:"; std::cin >> l_score_math; std::cout << "请输入李阳的外语成绩:"; std::cin >> l_score_foreign; std::cout << "请输入李阳的计算机成绩:"; std::cin >> l_score_computer; // 分配空间,并将成绩存入指针数组中 scores[0] = new float[3]{w_score_math, w_score_foreign, w_score_computer}; scores[1] = new float[3]{l_score_math, l_score_foreign, l_score_computer}; // 求取平均成绩并作出相应评价 for (int i = 0; i < 2; i++) { float average = getAverage(scores[i]); std::cout << "第" << (i+1) << "位同学的平均成绩为:" << average << ",评价为:"; if (average > 80) { std::cout << "优秀" << std::endl; } else if (average > 60) { std::cout << "合格" << std::endl; } else { std::cout << "不合格" << std::endl; } } // 释放内存 delete[] scores[0]; delete[] scores[1]; return 0; } ``` 运行程序后,输入两位同学的各门课成绩,即可得到评价结果。

相关推荐

最新推荐

recommend-type

用C语言实现成绩表的快速排序程序设计

问题描述〕给出n个学生...(2)输出形式为:张强 张平 曾芽 王华 孙军 李应 程滨 90 88 82 78 70 69 65 〔基本要求〕 学生的考试成绩必须通过键盘输入,且需对输出进行格式控制; 〔算法提示〕利用快速排序算法求解;
recommend-type

影碟出租管理系统需求规格说明书(教学用例)

2.3 条件与限制由于时间比较短,使用计算机不方便以及对于网络编程不熟悉,因此本影碟出租管理系统并没有提供提供数据的远程访问功能。对信息的保护手段仅限于设置用户级别,以及提供数据文件的备份,比较简单,安全...
recommend-type

学校学生宿舍管理系统需求规格说明书(教学用例)

[2]王华.软件工程试验与课程设计指导.电子工业出版社,2008年6月. 2任务概述 2.1目标 学校学生宿舍管理系统:即用于实现对学生及宿舍信息资料进行编辑,添加,删除,统计,打印显示等功能的软件系统。通过该系统,...
recommend-type

影碟出租管理需求规格说明书(教学用例)

系统实现后,将用计算机系统将代替原来烦琐的碟片出租管理,使碟片的出租能有计划地进行,以利于出租者管理。 1.3定义 以下对VHS、SQL、Eclipse分别定义如下。 VHS:video hire system,影碟出租系统。 SQL :所用...
recommend-type

2024华为OD机试D卷 - 最多购买宝石数目 - 免费看解析和代码.html

私信博主免费获取真题解析以及代码
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。