【算法笔记题解】《算法笔记知识点记录》第二章——快速入门4[结构体、输入输出、复杂度和黑盒测试](2)

简介: 【算法笔记题解】《算法笔记知识点记录》第二章——快速入门4[结构体、输入输出、复杂度和黑盒测试](2)

问题 D: C语言11.7

题目描述


编写两个函数input和print,分别用来输入5个学生的数据记录和打印这5个学生的记录。对于每一个学生,其记录包含了学号、名字、3门课程的成绩共5项。用主函数分别调用input和print函数进行输入和输出。

要求使用结构体数组实现,结构体中包括了每个学生的5项记录。

输入


共有5行,每行包含了一个学生的学号(整数)、名字(长度不超过19的无空格字符串)和3门课程的成绩(0至100之间的整数),用空格隔开。


输出


与输入格式相同,每行输出一个学生的所有记录。

请注意行尾输出换行。


样例输入


101 AAA 80 81 82

102 BBB 83 84 85

103 CCC 86 87 88

104 DDD 89 90 91

105 EEE 92 93 94

样例输出


101 AAA 80 81 82

102 BBB 83 84 85

103 CCC 86 87 88

104 DDD 89 90 91

105 EEE 92 93 94

解题思路


这倒是挺简单的。


#include<cstdio>
struct student{
    int id;
    char name[20];
    char score[3];
};
void scan(student *a){
    for(int i = 0;i < 5;i++)
        scanf("%d %s %d %d %d",&a[i].id,a[i].name,&a[i].score[0],&a[i].score[1],&a[i].score[2]);
}
void print(student *a){
    for(int i = 0;i < 5;i++)
        printf("%d %s %d %d %d\n",a[i].id,a[i].name,a[i].score[0],a[i].score[1],a[i].score[2]);
}
int main(){
    student stu[5];
    scan(stu);
    print(stu);
    return 0;
}


问题 E: C语言11.8

题目描述


有10个学生,每个学生的数据包括学号、姓名、3门课程的成绩。读入这10个学生的数据,要求输出3门课程的总平均成绩,以及个人平均分最高的学生的数据(包括学号、姓名、3门课程成绩、平均分数)。


输入


共有10行,每行包含了一个学生的学号(整数)、名字(长度不超过19的无空格字符串)和3门课程的成绩(0至100之间的整数),用空格隔开。


输出


第一行包含了3个实数,分别表示3门课程的总平均成绩,保留2位小数,每个数之后输出一个空格。

第二行输出个人平均分最高的学生的数据,与输入数据格式相同。如果有多位个人平均分最高的学生,输出按照输入顺序第一个最高分的学生数据。

请注意行尾输出换行。


样例输入


101 AAA 80 81 82

102 BBB 83 84 85

103 CCC 86 87 88

104 DDD 89 90 91

105 EEE 92 93 94

106 FFF 80 90 100

107 GGG 85 90 95

108 HHH 80 85 90

109 III 90 91 92

110 JJJ 91 88 87


样例输出


85.60 87.90 90.40

105 EEE 92 93 94

解题思路


这道题也是挺简单的。


#include<cstdio>
struct student{
    int id;
    char name[20];
    int score[3];
};
void scan(student *a){
    for(int i = 0;i < 10;i++)
        scanf("%d %s %d %d %d",&a[i].id,a[i].name,&a[i].score[0],&a[i].score[1],&a[i].score[2]);
}
void print(student *a){
        printf("%d %s %d %d %d\n",a->id,a->name,a->score[0],a->score[1],a->score[2]);
}
int main(){
    student stu[10];
    scan(stu);
    double p_1 = 0,p_2 = 0,p_3 = 0;
    for(int i = 0;i < 10;i++)
        p_1 += stu[i].score[0],p_2 += stu[i].score[1],p_3 += stu[i].score[2];
    printf("%.2f %.2f %.2f\n",p_1/10,p_2/10,p_3/10);
    int max = 0;
    for(int i = 0;i < 10;i++)
        if(max < stu[i].score[0]+stu[i].score[1]+stu[i].score[2]) max = stu[i].score[0]+stu[i].score[1]+stu[i].score[2];
    for(int i = 0;i < 10;i++)
        if(max == stu[i].score[0]+stu[i].score[1]+stu[i].score[2]) {
            print(&stu[i]);
            break;
        } 
    return 0;
}


🥚2.10小节——C/C++快速入门->黑盒测试

问题 A: A+B 输入输出练习I

题目描述


你的任务是计算a+b。这是为了acm初学者专门设计的题目。你肯定发现还有其他题目跟这道题的标题类似,这些问题也都是专门为初学者提供的。


输入


输入包含一系列的a和b对,通过空格隔开。一对a和b占一行。


输出


对于输入的每对a和b,你需要依次输出a、b的和。

如对于输入中的第二对a和b,在输出中它们的和应该也在第二行。


样例输入


1 5

10 20

样例输出


6

30


解题思路


练习EOF的使用。


#include<cstdio>
int main(){
    int a,b;
    while(scanf("%d %d",&a,&b) != EOF){
        printf("%d\n",a + b);
    }
    return 0;
}


相关文章
|
1月前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
403 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
1月前
|
测试技术
自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)
本文是关于自动化测试项目实战笔记,主要介绍了如何测试用户注册功能,包括验证码错误、注册成功以及弹框处理的测试步骤和代码实现。
90 2
自动化测试项目实战笔记(三):测试用户注册(验证码错误,成功,出现弹框时处理)
|
1月前
|
Java 关系型数据库 MySQL
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
这篇文章是关于自动化测试项目实战笔记,涵盖了JDK、Tomcat、MySQL、Jpress环境的安装和搭建过程,以及测试用例和常见问题总结。
49 1
自动化测试项目实战笔记(一):JDK、Tomcat、MySQL、Jpress环境安装和搭建
|
1月前
|
安全
红队测试方法论-课程笔记
红队测试方法论-课程笔记
红队测试方法论-课程笔记
|
1月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
|
1月前
|
计算机视觉
目标检测笔记(二):测试YOLOv5各模块的推理速度
这篇文章是关于如何测试YOLOv5中不同模块(如SPP和SPPF)的推理速度,并通过代码示例展示了如何进行性能分析。
89 3
|
1月前
|
人工智能 算法 测试技术
自动化测试项目实战笔记(二):解决验证码识别问题
这篇文章介绍了三种自动化测试中验证码识别的方法:使用Python的pytesseract和PIL模块、利用第三方API如万维易源,以及使用开源的ddddocr库,还提到了一些注意事项,比如如何获取验证码区域的截图。
66 2
|
1月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
59 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
1月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
95 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
1月前
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
192 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)