【算法笔记题解】《算法笔记知识点记录》第二章——快速入门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;
}


相关文章
|
8月前
|
存储 数据可视化 测试技术
一个测试工程师的实战笔记:我是如何在Postman和Apipost之间做出选择的?
优秀的API测试工具应该具备: 分层设计:既有可视化操作,也开放代码层深度定制 场景感知:自动识别加密需求推荐处理方案 协议包容:不强迫开发者为了不同协议切换工具 数据主权:允许自主选择数据存储位置
206 7
|
10月前
|
缓存 算法 搜索推荐
Java中的算法优化与复杂度分析
在Java开发中,理解和优化算法的时间复杂度和空间复杂度是提升程序性能的关键。通过合理选择数据结构、避免重复计算、应用分治法等策略,可以显著提高算法效率。在实际开发中,应该根据具体需求和场景,选择合适的优化方法,从而编写出高效、可靠的代码。
168 6
|
12月前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
4032 3
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
12月前
|
机器学习/深度学习 弹性计算 自然语言处理
前端大模型应用笔记(二):最新llama3.2小参数版本1B的古董机测试 - 支持128K上下文,表现优异,和移动端更配
llama3.1支持128K上下文,6万字+输入,适用于多种场景。模型能力超出预期,但处理中文时需加中英翻译。测试显示,其英文支持较好,中文则需改进。llama3.2 1B参数量小,适合移动端和资源受限环境,可在阿里云2vCPU和4G ECS上运行。
522 1
|
12月前
|
算法 API 计算机视觉
人脸识别笔记(一):通过yuface调包(参数量54K更快更小更准的算法) 来实现人脸识别
本文介绍了YuNet系列人脸检测算法的优化和使用,包括YuNet-s和YuNet-n,以及通过yuface库和onnx在不同场景下实现人脸检测的方法。
462 1
|
12月前
|
JSON 算法 数据可视化
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
这篇文章是关于如何通过算法接口返回的目标检测结果来计算性能指标的笔记。它涵盖了任务描述、指标分析(包括TP、FP、FN、TN、精准率和召回率),接口处理,数据集处理,以及如何使用实用工具进行文件操作和数据可视化。文章还提供了一些Python代码示例,用于处理图像文件、转换数据格式以及计算目标检测的性能指标。
264 0
测试专项笔记(一): 通过算法能力接口返回的检测结果完成相关指标的计算(目标检测)
|
12月前
|
机器学习/深度学习 并行计算 数据可视化
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
这篇文章介绍了如何使用PaddleClas框架完成多标签分类任务,包括数据准备、环境搭建、模型训练、预测、评估等完整流程。
823 0
目标分类笔记(二): 利用PaddleClas的框架来完成多标签分类任务(从数据准备到训练测试部署的完整流程)
|
12月前
|
机器学习/深度学习 JSON 算法
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
本文介绍了DeepLab V3在语义分割中的应用,包括数据集准备、模型训练、测试和评估,提供了代码和资源链接。
2401 0
语义分割笔记(二):DeepLab V3对图像进行分割(自定义数据集从零到一进行训练、验证和测试)
|
12月前
|
机器学习/深度学习 数据采集 算法
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
这篇博客文章介绍了如何使用包含多个网络和多种训练策略的框架来完成多目标分类任务,涵盖了从数据准备到训练、测试和部署的完整流程,并提供了相关代码和配置文件。
401 0
目标分类笔记(一): 利用包含多个网络多种训练策略的框架来完成多目标分类任务(从数据准备到训练测试部署的完整流程)
|
12月前
|
移动开发 算法 前端开发
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
前端常用算法全解:特征梳理、复杂度比较、分类解读与示例展示
278 0

热门文章

最新文章