C语言进行实验:通过程序实现线算图取值【支持VC++ 6.0编辑器环境运行】

背景:

一、实验目的和要求

1、能描述数据基本类型及其常量的表示方法;

2、会对变量进行定义及初始化;

3、能使用运算符与表达式对变量赋值;

4、会描述C语句的概念及种类、C语言常用的输入/出方式;

5、会设计顺序结构程序;

6、能分析if … else …的三种语法的区别,会描述switch与break语句的作用;

7、能使用while循环、do-while循环和for循环的结构设计程序,能使用常见的循环嵌套,会描述break语句和continue语句的作用;

8、会定义、使用数组。

二、实验内容

1将工程中线算图人工查图方式改为程序取值。

对下图所示线算图设计算法,编写代码,实现通过输入横坐标参数获取纵坐标参数功能。

三、实验仪器、设备

计算机(装有VC++ 6.0或visual studio 2010);

四、实验原理

1、在工程中,线算图中的曲线,可近似为由n段线段构成,n的取值取决于曲线斜率变化的剧烈程度;

2、用数组存储线段的特征参数;

3、用选择语句判断输入参数是否越界;

4、用循环语句判断输入参数所处区间,选择合适的线段;

5、用表达式,根据输入参数,在选中的线段上取值,获得输出参数。 

五、实验步骤

1、已知线段起点坐标(x0,y0)和终点坐标(x1,y1),要求根据横坐标参数x求其对应线段上的纵坐标参数y。x∈(x0,x1)。

2、已知线段起点坐标(x0,y0)和终点坐标(x1,y1),要求根据横坐标参数x求其对应线段上的纵坐标参数y。(要求使用条件语句判断是否越界)

3、已知两个线段坐标。其中一个线段起点坐标为(x0,y0),终点坐标为(x1,y1);另一个线段起点坐标为(x1,y1),终点坐标为(x2,y2)。要求根据横坐标参数x求其对应线段上的纵坐标参数y。(要求综合利用数组、循环和条件知识)

4、对图1所示曲线,绘制程序流程图,编写代码,撰写实验报告。

、实验注意事项

1、当需要用比较复杂的逻辑表达式时,要避免发生优先级上的错误,可以使用最高优先级的运算符()将其括起来,这样既增加可读性,又不会出现不必要的错误。

2、输入和输出函数的使用过程中在格式控制的地方可能会出现错误。要严格按照格式控制的形式输入和输出数据。

3、if-else语句书写时应采用分层缩进的格式。

4、while语句的句法格式及用法。

5、for语句的正确使用方法。注意它的初始值、终止条件及步长的确定。

6、当循环不能停止(出现死循环),应该用Ctrl+break中断程序的运行。

7、在C语言中,定义数组时,其长度必须指定且必须用常量表示。

程序效果展示:

要求一(英文版,中文版此处不演示):

用户输入两个坐标,函数关系为y=nx,计算,这里不校验x取值范围

要求二(中文版加英文版演示)

用户输入两个坐标,函数关系为y=nx,计算,这里校验x取值范围

要求三(中文版加英文版演示)

用户输入三个坐标,函数关系为y=n1x,y=n2x,输入x,判断y处于哪个线段!!

VC++6.0编辑器运行效果:

主要代码:

这里一共写了三个程序,来完成对应的需求

//联系请加V:zew1040994588    //要求一代码
// 输入起点和终点的坐标printf("Please enter the horizontal coordinate of the starting point:");scanf("%f", &x0);printf("Please enter the ordinate of the starting point:");scanf("%f", &y0);printf("Please enter the horizontal coordinate of the end point:");scanf("%f", &x1);printf("Please enter the ordinate of the end point:");scanf("%f", &y1);
//联系请加V:zew1040994588//要求三代码
// 输入第二个线段的终点坐标以及已知的x1和y1printf("请输入第二个线段的终点坐标(x2, y2):");scanf("%d %d", &x2, &y2);// 计算第二个线段的斜率if (x2 - x1 != 0) {//n2 = (float)(y2 - y1) / (float)(x2 - x1);n2 = (y2 - y1) / (x2 - x1);//printf("x1值为%d\n",x1);//printf("y1值为%d\n",x1);//printf("x2值为%d\n",x2);	       //printf("y2值为%d\n",y2);//printf("x2 - x1 值为%d\n",x2 - x1);//printf("y2 - y1 值为%d\n",y2 - y1);//printf("计算n2值为%d\n",y2 - y1 / x2 - x1);//printf("n2值为%d\n",n2);} else {printf("Error: 第二个线段的斜率不存在");return 0;}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python+pytest接口自动化之测试函数、测试类/测试方法的封装

前言 今天呢,笔者想和大家聊聊pythonpytest接口自动化中将代码进行封装,只有将测试代码进行封装,才能被测试框架识别执行。 例如单个接口的请求代码如下: import requestsheaders {"user-agent": "Mozilla/5.0…

【微信小程序】自定义组件布局会议OA其他页面(附源码)

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《微信小程序开发实战》。🎯&#x1f3a…

JOSEF约瑟 JD3-40/23 JD3-70/23漏电继电器 AC220V\0.05-0.5A

JD3系列漏电继电器(以下简称继电器)适用于交流电压至1140V,频率为50Hz,该继电器与分励脱扣器或失压脱扣器的断路器、交流接触器、磁力启动器等组成漏电保护装置,作漏电和触电保护之用,可配备蜂鸣器、信号等…

【会议征稿通知】第三届大数据经济与数字化管理国际学术会议(BDEDM 2024)

2024 3rd International Conference on Big Data Economy and Digital Management 第三届大数据经济与数字化管理国际学术会议(BDEDM 2024) 第三届大数据经济与数字化管理国际学术会议(BDEDM 2024)将于2024年1月12-14日于宁波召…

性能测试-redis常见问题

缓存击穿、缓存穿透、缓存雪崩 缓存雪崩 解决办法 1.设置缓存失效时间,不要在同一时间 2.redis集群部署 3.不设置缓存设置时间 4.定时刷缓存的时间 缓存穿透 请求不管返回什么数据都返回给redis对参数合法器进行验证,不合法的时候直接过滤掉使用布…

周四见|物流人的一周资讯

中国生鲜快消品电商渗透率居全球首位 10月19日消息,中国连锁经营协会与贝恩公司近日联合发布《2023中国生鲜快消品零售业态发展趋势研究》,报告指出,当前,中国生鲜快消品零售市场正处于电商渗透率引领全球,但集中度较…

python使用dataset快速使用SQLite

目录 一、官网地址 二、安装 三、 快速使用 一、官网地址 GitHub - pudo/dataset: Easy-to-use data handling for SQL data stores with support for implicit table creation, bulk loading, and transactions. 二、安装 pip install dataset 如果是mysql,则…

基于springboot实现线上教学平台项目【项目源码+论文说明】计算机毕业设计

摘要 在社会快速发展的影响下,使线上教学平台的管理和运营比过去十年更加理性化。依照这一现实为基础,设计一个快捷而又方便的网上线上教学平台系统是一项十分重要并且有价值的事情。对于传统的线上教学平台控制模型来说,网上线上教学平台系…

VR全景广告:让消费者体验沉浸式交互,让营销更有趣

好的产品都是需要广告宣传的,随着科技的不断发展,市面上的广告也和多年前的传统广告不同,通过VR技术,可以让广告的观赏性以及科技感更加强烈,并且相比于视频广告,成本也更低。 在广告营销中,关键…

【MySQL】索引的增删查

上篇博客讲解了索引的底层结构 本篇介绍索引的使用 文章目录 一. 主键索引二. 唯一键索引三. 普通索引四. 全文索引五. 查询索引六. 删除索引结束语 一. 主键索引 MySQL默认会按照主键索引进行排序 关键字:primary key 即使建表时没有指明主键,MySQL也会…

Stm32_标准库_16_串口蓝牙模块_手机与蓝牙模块通信_手机传入信息能对芯片时间日期进行更改

实现了手机发送信息给蓝牙模块,程序对数据进行分析拆解,并更新自身数据 main.c: #include "stm32f10x.h" // Device header #include "Delay.h" #include "OLED.h" #include "Serial.h" #include "Ti…

Linux进阶-ipc共享内存

目录 共享内存 shmget():创建或获取共享内存 shmat():映射 shmdt():解除映射 shmctl():获取或设置属性 sem.h文件 sem.c文件 shm.c文件 Makefile文件 执行过程 共享内存 共享内存:将内存进行共享&#xff0c…

利用向导创建MFC

目录 1、项目的创建: 2、项目的管理 : 3、分析以及生成的项目代码 : (1)、查看CFrame中的消息映射宏 (2)、自动生成事件 (3)、在CFrame中添加对应的鼠标处理函数 …

计算机网络学习笔记(三):数据链路层(待更新)

目录 3.1 基本概念 3.1.1 数据链路和帧 3.1.2 三个基本问题 3.2 类型1:使用点对点信道的数据链路层(路由器) 3.2.1 点对点协议 PPP:特点 3.2.2 点对点协议 PPP:帧格式 3.2.3 点对点协议 PPP:工作状态 …

华为---PPP协议简介及示例配置

PPP协议简介 PPP是Point-to-Point Protocol的简称,中文翻译为点到点协议。与以太网协议一样,PPP也是一个数据链路层协议。以太网协议定义了以太帧的格式,PPP协议也定义了自己的帧格式,这种格式的帧称为PPP帧。 利用PPP协议建立的二层网络称为…

CSS盒子模型的详细解析

03-盒子模型 作用:布局网页,摆放盒子和内容。 盒子模型-组成 内容区域 – width & height 内边距 – padding(出现在内容与盒子边缘之间) 边框线 – border 外边距 – margin(出现在盒子外面) d…

基于Spring boot轻松实现一个多数据源框架

Spring Boot 提供了 Data JPA 的包&#xff0c;允许你使用类似 ORM 的接口连接到 RDMS。它很容易使用和实现&#xff0c;只需要在 pom.xml 中添加一个条目&#xff08;如果使用的是 Maven&#xff0c;Gradle 则是在 build.gradle 文件中&#xff09;。 <dependencies>&l…

VS2022更换背景壁纸逐步图示教程

&#x1f984;个人主页:修修修也 ⚙️操作环境:Visual Studio 2022 目录 一.下载壁纸插件 二.更改自定义壁纸 三.调整壁纸布局 一.下载壁纸插件 因为更改自定义壁纸需要一个插件的辅助,所以我们要先下载一个小插件 首先,打开VS2022,点击"扩展"->"管理扩…

PAM从入门到精通(十三)

接前一篇文章&#xff1a;PAM从入门到精通&#xff08;十二&#xff09; 本文参考&#xff1a; 《The Linux-PAM Application Developers Guide》 先再来重温一下PAM系统架构&#xff1a; ​ 更加形象的形式&#xff1a; ​ 五、主要函数详解 11. pam_open_session 概述&…

C语言求 n 阶勒让德多项式的值

完整代码&#xff1a; // 用递归法求 n 阶勒让德多项式的值 // 递归公式为&#xff1a; // n0,P(n)(x)1 // n1,P(n)(x)x // n>1,P(n)(x)((2*n-1)*x - P(n-1)(x) - (n-1)*P(n-2)(x)) / n #include<stdio.h>double func(int n,int x){if (n0){return 1;}if (n1){return…