C语言实验2:循环结构程序设计和数组

目录

一、实验要求

二、实验内容

实验一:循环结构程序设计

1.1

代码

截图

分析

1.2

代码

截图

分析

1.3

代码

截图

分析

实验二:数组

2.1

代码

截图

分析

2.2

代码

截图

分析

2.3

代码

截图

分析

实验三:循环结构和数组的综合应用

3.1

代码

截图

分析

3.2

代码

截图

分析

3.3

代码

截图

分析


一、实验要求

掌握循环和数组

二、实验内容

实验一:循环结构程序设计

目标:通过实践掌握循环结构的使用和应用,加深对循环控制语句的理解。

原理:循环结构程序设计是通过使用循环控制语句(如for循环、while循环等)来重复执行一段代码块,以达到特定的目的。在实验中,通过选择适当的循环类型和循环条件,可以实现对一系列数字的遍历、求和、求平均值等操作。

要求:

1.1

编写一个程序,计算并输出1到100之间所有偶数的和。

代码
#include<iostream>
using namespace std;
int main() {int sum = 0;for (int i = 2; i <= 100; i += 2) {sum += i;}cout << sum;return 0;
}
截图

分析

一般设置变量sum来储存累加值

for循环中首先设置初始量,其次设置条件,不满足条件则会跳出循环,第三个条件是变量的变化规律,根据条件设置。

由于题目要求不超过100,且是偶数,所以要求i<=100

相邻偶数之间差2,所以应该每次加2

sum+=i等价于sum=sum+2,只是一个缩写形式

1.2

编写一个程序,输出1到10之间的所有整数的平方。

代码
#include<iostream>
using namespace std;
int main() {for (int i = 1; i <= 10; i++) {cout << i * i << "   ";}return 0;
}
截图

分析

这里的初值应该设为1,因为从1开始

条件是到10为止,因此不能超过10.应当设置i<=10

从1到10,每个相邻的数+1

cout行中“    ”表示输出若干空格符,用于输出时数字与数字之间有间隙,美观,如果换行应该cout<<endl

1.3

编写一个程序,求解1到100之间所有能被3整除的数的平均值。

代码
#include<iostream>
using namespace std;
int main() {int sum = 0, count = 0;for (int i = 1; i <= 100; i++) {if (i % 3 == 0) {//可以被3整除sum += i;count++;}}float average;average = float(sum) / float(count);cout << average;return 0;
}
截图

分析

sum用来储存和,count用来储存共有多少个可以被3整除的数,初值应该都是0

从1到100,则i初值应该为1,不能大于100,且每次加1

能被3整除,说明与3的余数应该为0

由于平均值要尽可能精准,则不能用int,而采用float

但是只有相同类型数据才能进行四则运算,则要对sum和count进行强制数据类型转换,就是float(),转化成float类型

实验二:数组

目标:学习数组的定义、初始化和使用,掌握数组在程序中的应用。

要求:

2.1

定义一个整型数组,包含5个元素,然后编写程序,输入5个整数并存储到数组中,最后输出数组中的所有元素。

代码
#include<iostream>
using namespace std;
int main() {int a,A[5];for (int i = 0; i < 5; i++) {cin >> a;A[i] = a;}for (int i = 0; i < 5; i++) {cout << A[i]<<endl;}return 0;
}
截图

分析

对于数组的定义,若只是普通的一维数组,定义n个数就A[n]

但是数组是从0即A[0]开始的,以A[n-1]为止,共n个数。

题目要求输入5个数,则A[5]

2.2

编写一个程序,定义一个字符数组,包含10个元素,然后使用循环结构输入10个字符,并存储到数组中,最后输出数组中的所有元素。

代码
#include<iostream>
using namespace std;
int main() {char a,A[5];for (int i = 0; i < 5; i++) {cin >> a;A[i] = a;}for (int i = 0; i < 5; i++) {cout << A[i]<<endl;}return 0;
}
截图

分析

相比于上面,只是将int型数组改为char型数组

2.3

编写一个程序,定义一个浮点型数组,包含10个元素,然后输入10个浮点数并存储到数组中,计算数组中所有元素的和并输出。

代码
#include<iostream>
using namespace std;
int main() {float a,A[5];for (int i = 0; i < 5; i++) {cin >> a;A[i] = a;}for (int i = 0; i < 5; i++) {cout << A[i]<<endl;}return 0;
}
截图

分析

相比于上面,只是将int型数组改为float型数组

实验三:循环结构和数组的综合应用

目标:综合运用循环结构和数组解决实际问题。

要求:

3.1

编写一个程序,从键盘输入学生的成绩,使用循环结构将成绩存储到数组中,然后计算平均成绩并输出。

代码
#include<iostream>
using namespace std;
int main() {int sum = 0,number,A[100];cout << "请输入学生数:";cin >> number;for (int i = 0; i < number; i++) {cin >> A[i];sum += A[i];}float average = float(sum) / float(number);cout << average;return 0;
}
截图

分析

这一题看起来比较综合性,实质是1.3与2.1的结合,并不复杂

至于为什么设置A[100],而不是其他大小的数组,是因为要考虑到实际需要,学生数可能不超过100个,如果可能超过100个,可以将数组扩大,但不能特别大,防止空间浪费,也有一一种动态分配数组,感兴趣的童鞋可以参考下面这篇博客

【C语言进阶篇】动态内存分配和数组的动态内存分配_c语言动态内存分配二维数组-CSDN博客

3.2

编写一个程序,从键盘输入一组整数,使用循环结构将其存储到数组中,然后找出数组中的最大值和最小值,并输出。

代码
#include<iostream>
using namespace std;
int main() {int number,A[100],max=-999,min=999;cout << "请输入所需要的数字数:";cin >> number;for (int i = 0; i < number; i++) {cin >> A[i];if (A[i] < min) {min = A[i];}if (A[i] > max) {max = A[i];}}cout << "最大值为:" << max << endl;cout << "最小值为:" << min;return 0;
}
截图

分析

max设置那么小,min设置那么大,懂得都懂,和上述设置数组大小原理相同

只需要通过if来判断当前输入的值是否是更大或更小的值,从而更新max与min

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2660314.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

产品管理-学习笔记-版本的划分

版本号说明【X.Y.Z_修饰词】 版本号定义原则X表示大版本号&#xff0c;一般当产品出现重大更新、调整、不再向后兼容的情况时我们会在X上加1Y表示功能更新&#xff0c;在产品原有的基础上增加、修改部分功能&#xff0c;且并不影响产品的整体流程或业务Z表示小修改&#xff0c…

小米SU7汽车发布会; 齐碳科技C+轮融资;网易 1 月 3 日发布子曰教育大模型;百度文心一言用户数已突破 1 亿

投融资 • 3200 家 VC 投资的创业公司破产&#xff0c;那个投 PLG 的 VC 宣布暂停投资了• 云天励飞参与 AI 技术与解决方案提供商智慧互通 Pre-IPO 轮融资• 百度投资 AIGC 公司必优科技• MicroLED量测公司点莘技术获数千万级融资• 智慧互通获AI上市公司云天励飞Pre-IPO轮战…

Buck电源设计常见的一些问题(五)MOS管振荡抑制方法(三)

MOS管振荡抑制方法(三)Rboot的选取 1.Rboot的选取2.总结1.Rboot的选取 同步 Buck 变换器一般采用自举电路供电,如图所示。开关节点上升沿的振荡与上管开通关系密切,上管开通时的驱动电流路径如图所示。因此,可以通过增大 Rboot来减缓上管开通的速度,从而抑制开关节点的振…

创建和配置Spring MVC框架构建Web应用

1 认识Spring MVC Spring Web MVC是构建在Servlet API之上的Web框架&#xff0c;自诞生之时就被纳入了Spring框架中。其正式/官方名称为“Spring Web MVC”&#xff0c;源自其所属的模块&#xff08;spring-webmvc&#xff09;&#xff0c;但通常被称为“Spring MVC”。 1.1…

Zblog主题模板:ZblogitseanPage博客主题模板

zblog主题模板&#xff1a;ZblogitseanPage博客主题模板 ZblogitseanPage博客主题模板主要是以文字内容为主导&#xff0c;将页面的设计杂乱的图片和元素进行最小化或者去除&#xff0c;从而使整个页面更加简洁、清晰&#xff0c;突出信息的呈现。 下面介绍一下zblog主题模板:Z…

MobaXterm自定义关键字高亮(解决绿色不亮问题)

作用 终端中的一些关键字高亮可以提高我们的效率&#xff0c;本文是解决在部分关键字没有高亮的情况下&#xff0c;添加自定义关键字使其高亮 教程 打开设置 基于已有模式进行拓展 在已有Session中选择自定义的规则&#xff0c;重启MobaXterm即可 解决绿色不亮问题 由…

除法计算器 C语言xdoj48

问题描述 小明的弟弟刚开始学习除法&#xff0c;为了检查弟弟的计算结果是否正确&#xff0c;小明决定设计一个简单计算器程序来验算。 输入说明 输入数据由四个整数m&#xff0c;n&#xff0c;q&#xff0c;r构成&#xff0c;m为被除数&#xff0c;n为除数&#xff0c…

OpenCV-Python(21):OpenCV中的轮廓性质

3.轮廓的性质 本文我们将主要学习基于轮廓来提取一些经常使用的对象特征。 3.1 长宽比 边界矩形的宽高比&#xff1a; x,y,w,h cv2.boundingRect(cnt) aspect_ratio float(w)/h 3.2 Extent 轮廓面积与边界矩形面积的比。 area cv2.contourArea(cnt) x,y,w,h cv2.bounding…

rime中州韵 symbols.custom.yaml 配置

今天我们所做的配置&#xff0c;将实现扩展符号的输入效果&#xff0c;如下&#x1f447;&#xff1a; 基础扩展符号的配置 要实现输入法能够输入扩展的符号&#xff0c;我们需要在输入方案中引入扩展符号集。 如果你使用的输入方案是 wubi_pinyin.schema.yaml&#xff0c;…

VMware16 pro 安装openEuler-23.09-x86_64,详细操作流程+详图。

1.环境&#xff1a; win11, vmware16 pro, openEuler-23.09-x86_64-dvd.iso 社区版openEuler 23.09官方下载地址&#xff1a; openEuler下载 | 欧拉系统ISO镜像 | openEuler社区官网欧拉操作系统(openEuler, 简称“欧拉”)是面向数字基础设施的操作系统,支持服务器、云计算、…

《深入理解JAVA虚拟机笔记》对象的创建和访问、对象头

对象的创建 当 Java 虚拟机遇到一条字节码 new 指令时&#xff0c;首先将去检查这个指令的参数是否能做常量池中定位到一个类的符号引用&#xff0c;并且检查这个符号引用代表的类是否已被加载、解析和初始化过。如果没有&#xff0c;那必须先执行相应的类加载过程。 在类加载…

Android中_Service生命周期和AMS流程的创建

Service生命周期可以结合Android生命周期分析。 Service生命周期可以从两种启动Service的模式开始讲起&#xff0c;分别是context.startService()和context.bindService()。 Service的生命周期与启动和绑定状态相关。当调用startService()方法启动服务时&#xff0c;会执行onS…

【JavaScript】new原理解析

✨ 专栏介绍 在现代Web开发中&#xff0c;JavaScript已经成为了不可或缺的一部分。它不仅可以为网页增加交互性和动态性&#xff0c;还可以在后端开发中使用Node.js构建高效的服务器端应用程序。作为一种灵活且易学的脚本语言&#xff0c;JavaScript具有广泛的应用场景&#x…

Spring AOP—深入动态代理 万字详解(通俗易懂)

目录 一、前言 二、动态代理快速入门 1.为什么需要动态代理&#xff1f; : 2.动态代理使用案例&#xff1a; 3.动态代理的灵活性 : 三、深入动态代理 1.需求 : 2.实现 : 2.1 接口和实现类 2.2 提供代理对象的类 2.3 测试类 3.引出AOP : 四、总结 一、前言 第四节内容&…

Unity Shader-真实下雨路面

Unity Shader-真实下雨路面 简介素材1.准备插件Amplify Shader Editor&#xff08;这里我使用的是1.6.4最新版&#xff09;2.贴纸和切图d 一、创建一个Shader Surface&#xff0c;实现气泡播放效果二、叠加一次气泡播放效果&#xff0c;使其看起来更多&#xff0c;更无序三、小…

SCENIC+:增强子和基因调控网络的单细胞多组学推理

摘要 对单个细胞中染色质可及性和基因表达的联合分析为破译增强子驱动的基因调控网络&#xff08;GRN&#xff09;提供了机会。在这里&#xff0c;我们提出了一种用于推理增强器驱动的 GRN 的方法&#xff0c;称为 SCENIC。 SCENIC 预测基因组增强子以及候选上游转录因子 (TF)…

腾讯云服务器购买流程:一步步全流程购买指南

腾讯云服务器购买流程直接在官方秒杀活动上购买比较划算&#xff0c;在云服务器CVM或轻量应用服务器页面自定义购买价格比较贵&#xff0c;但是自定义购买云服务器CPU内存带宽配置选择范围广&#xff0c;活动上购买只能选择固定的活动机&#xff0c;选择范围窄&#xff0c;但是…

Unity TextMeshPro中文字体的转换与显示

Unity TextMeshPro功能非常强大&#xff0c;但是我们用默认的字体格式却无法显示中文&#xff0c;必须把字体转换之后才能正常显示中文。 具体转换方法&#xff1a; 1、准备好字体&#xff0c;ttf或otf格式都可以&#xff0c;如&#xff1a;SOURCEHANSANSCN-NORMAL.OTF 2、准…

css中sprite(css精灵)是什么,有什么优缺点

概念 将多个小图片拼接到一个图片中 。通过 background-position 和元素尺寸调节需要显示的背景图案。 优点 减少 HTTP 请求数&#xff0c;极大地提高页面加载速度 增加图片信息重复度&#xff0c;提高压缩比&#xff0c;减少图片大小 更换⻛格方便&#xff0c; 只需在一张或…

3DMAX 中的 VR 渲染器如何设置局部区域渲染?

3DMAX 中的 VR 渲染器如何设置局部渲染&#xff1f; 首先我们要得打开渲染设置&#xff0c;在3damx里按F10&#xff0c;调出渲染设置。选定渲染器为Vary渲染器&#xff1a; 设置VR的局部渲染&#xff0c;需要打开帧缓冲&#xff0c;我们在V-ary项下&#xff0c;打开帧缓冲(点击…