第7周基础练习

Python学习24:中国古代数学问题——物不知数(Python123) 意思是说有一些物品,不知道有多少个,3个3个数的话,还多出2个;5个5个数则多出3个;7个7个数也会多出2个。题目为‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬‬:今有物不知其数,三三数之剩二,五五数之剩三,七七数之剩二,问物几何?现假设物品总数不超过n (n 阅读详情

1.两个数的排序(10分)

编写函数,对输入的两个参数排序,即在主函数中输入a,b两个整数,调用函数,若a>b交换a,b的值,使得在主函数a<=b。在主函数中输出a,b。
输入:两个整数,用空格隔开。
输出:两个整数,从小到大,用空格隔开。

【注意】使用指针实现,不能用全局变量。排序不是问题,关键是用指针。

样例1输入:

4 2

样例1输出:

2 4
时间限制:500ms内存限制:32000kb

#include <iostream>
using namespace std;
void sort(int *a, int *b);
int main()
{
	int a, b;
	cin>>a>>b;
	sort(&a, &b);
	cout<<a<<" "<<b<<endl;
	return 0;
}
void sort(int *a, int *b)
{
	if(*a>*b)
	{
		int temp = *a;
			*a = *b;
			*b = temp;
	}
}

2.三个数的排序(10分)

编写函数,对输入的三个参数a,b,c排序,使得a<=b<=c。在主函数中输入a,b,c;调用函数排序,在主函数中输出a,b,c.排序使得主函数中的a,b,c满足a<=b<=c。
输入:三个整数,用空格隔开。
输出:三个整数,从小到大,用空格隔开。
【注意】使用指针实现,不能用全局变量。可以使用前一题的两个数的排序函数。

样例1输入:

3 2 1

样例1输出:

1 2 3
时间限制:500ms内存限制:32000kb

#include <iostream>
using namespace std;
void swap(int *pa, int *pb);
void sort(int *a, int *b, int *c);
int main()
{
	int a, b, c;
	cin>>a>>b>>c;
	sort(&a, &b, &c);
	cout<<a<<" "<<b<<" "<<c<<endl;
	return 0;
}
void swap(int *pa, int *pb)
{
	int temp = *pa;
		*pa = *pb;
		*pb = temp;
}
void sort(int *a, int *b, int *c)
{
	if(*a>*c)//先把a,c排序
		swap(a,c);
	if(*b<*a)//如果b比a小,就交换b,a
		swap(b,a);
	if(*b>*c)//如果b比c大,就交换b,c
		swap(b,c);
}

3.返回数组的统计值(最大、最小、平均值、标准差)(10分)

编写函数,“返回”,数组元素的最大值、最小值、平均值和标准差
编写主函数,输入以-9999为结束标志的一些列数据,调用函数计算其最大、最小、平均值和标准差,在主函数中依次输出。

输入:若干实数,空格隔开,以-9999为结束标志
输出:最大、最小、平均值和标准差,空格隔开。
【注意】使用指针实现,在主函数中输出,不能用全局变量。

样例1输入:

6 8 8 8 10 -9999

样例1输出:

10 6 8 1.26491

#include <iostream>
#include <cmath>
using namespace std;
void statistics(double a[],int n,double *max,double *min,double *avg,double *stdev);
int main()
{
	double a[100], num;
	int len=0;
	while(cin>>num&&num!=-9999)
		a[len++] = num;
	double max, min, average, stdev;
	statistics(a,len,&max, &min, &average, &stdev);
	cout<<max<<" "<<min<<" "<<average<<" "<<stdev<<endl;
	return 0;
}
void statistics(double a[],int n,double *max,double *min,double *avg,double *stdev)
{
	*max = a[0];
	*min = a[0];
	double sum1 = 0.0;
	double sum2 = 0.0;
	for(int i=0; i<n; i++)
	{
		if(a[i]<*min)
			*min=a[i];
		if(a[i]>*max)
			*max=a[i];
		sum1 += a[i];
	}
	*avg = sum1/n;
	for(int i=0; i<n; i++)
		sum2 += (a[i]-*avg)*(a[i]-*avg);
	*stdev = sqrt(sum2/n);
}
//一个函数要返回多个变量时,一般要用指针

4.通过指向函数的指针调用函数(10分)

(1)编写自定义函数y=x^2,即x的平方,自变量和函数值均为double。
(2)编写自定义函数y=2
sin(23.142x+3.14)

设第1个函数的名字为x2,第2个函数的名字为mysin。编写主函数,输入自变量x ,通过指向函数的指针调用它们求函数值。

输入:一个实数
输出:两个函数值,用空格隔开。
【提示】本题只要定义两个函数x2和mysin,主函数照抄(但应理解)。sin(x)调用库函数,须包含。

样例1输入:

1

样例1输出:

1 0.0159264
时间限制:500ms内存限制:32000kb

#include <iostream>
#include <cmath>
using namespace std;
double x2(double x);
double mysin(double x);
int main()
{
	double (*f)(double);
	double x;
	cin>>x;
	f = x2;
	cout<<(*f)(x)<<" ";
	f = mysin;
	cout<<(*f)(x)<<endl;
	return 0;
}
double x2(double x)
{
	return x*x;
}
double mysin(double x)
{
	return 2*sin(2*3.14*2*x+3.14);
}
//函数指针括号里声明类型就行
//调用时也是间访

5.计算任意一元函数值的通用函数(10分)

(1)编写函数,可以计算任意一元函数的值,格式如下:

double anyfun(double (*f)(double),double x);

其中f是指向函数的指针,x是自变量。函数anyfun中只要返回f(x)即可。

(2)编写自定义函数计算y=x^2,即x的平方,自变量和函数值均为double,函数名x2。

(3)编写自定义函数计算y=2sin(23.142x+3.14),函数名为mysin。

编写主函数,输入自变量x ,通过anyfun计算x2和mysin在x的函数值,

输入:一个实数
输出:两个函数值,用空格隔开。
【提示】sin(x)调用库函数,须包含。
【注意】本题与上题具有相同的计算结果,但调用函数的方式是不同的,这才是关键!!

样例1输入:

1

样例1输出:

1 0.0159264
时间限制:500ms内存限制:32000kb

#include <iostream>
#include <cmath>
using namespace std;
double x2(double x);
double mysin(double x);
double anyFun(double (*fp)(double), double x);
int main()
{
	double x;
	cin>>x;
	cout<<anyFun(x2, x)<<" ";
	cout<<anyFun(mysin, x)<<endl;
	return 0;
}
double x2(double x)
{
	return x*x;
}
double mysin(double x)
{
	return 2*sin(2*3.14*2*x+3.14);
}
double anyFun(double (*fp)(double), double x)
{
	return (*fp)(x);
}
//把函数当成参数传递时,一般用函数指针

6.计算函数在指定区间的近似平均值(10分)

设函数为f(x), 区间[a,b],本题中,函数f(x)在区间[a,b]的近似平均值定义为

avg=(f(a)+f(a+h)+f(a+2h)+…+f(b))/(n+1)

其中n=1000, h=(b-a)/n;

编写函数,计算函数在[a,b]区间上的平均值,函数通过指向函数的指针为擦参数传入,

编写主函数,输区间端点a,b,计算函数exp(x),sin(x),cos(x),[a,b]上的近似平均值。n取固定值1000。

输入:实数a,b,用空格隔开。
输出:三个函数在区间[a,b]上的近似平均值。用空格隔开。
【提示】exp(x),sin(x),cos(x)为数学库函数,须包含头文件

样例1输入:

0 1

样例1输出:

1.71842 0.459659 0.8414
时间限制:500ms内存限制:32000kb

#include <iostream>
#include <cmath>
using namespace std;
double funAvg(double (*fp)(double), double a, double b, int n);
int main()
{
	double a, b;
	cin>>a>>b;
	cout<<funAvg(exp, a, b, 1000)<<" ";
	cout<<funAvg(sin, a, b, 1000)<<" ";
	cout<<funAvg(cos, a, b, 1000)<<endl;
	return 0;
}
double funAvg(double (*fp)(double), double a, double b, int n)
{
	double sum = 0.0;
	double h = (b-a)/n;
	for(int i=0; i<=n; i++)
	{
		sum += (*fp)(a+i*h);
	}
	return sum/(n+1);
}
//注意函数里对公式的转化: f(a+i*h)
学Simulink--机器人基础关节控制场景实例:基于Simulink的无刷直流电机(BLDC)关节六步换相位置控制仿真 本文详细介绍了基于Simulink的BLDC六步换相位置控制仿真方法,针对机器人关节的低成本控制需求。重点阐述了霍尔定位、六步换相和位置闭环三大核心原理,通过Simulink建模实现了从霍尔信号处理到位置环控制的全流程。仿真结果表明,该系统可实现0.3°的定位精度和80ms的响应时间,满足教育机器人等应用场景需求。文章还提供了核心代码模块和参数设置方法,并探讨了转矩脉动抑制、无传感器控制等进阶优化方向,为低成本机器人关节驱动提供了实用解决方案。 阅读详情

相关推荐

Pentaho安装与配置

Pentaho安装与配置前言一、下载二、配置1.JDK环境2.添加mysql-jdbc驱动三、启动 前言 Pentaho Data Integration (PDI):前身是Kettle。Pentaho提供了提取、转换和加载(ETL)功能,该功能使用统一且与最终用户和物联网技术相关且可访问的格式简化了捕获、清理和存储数据的过程。 功能:提供报表的制作、分析、仪表板、数据集成、数据采集、商业智能平台等强大功能。 一、下载 官网地址:http://www.pentaho.com/ 不过已经访问不到了

小太阳DENGJIE的博客 3605

使用函数实现两个数的交换。

#include <stdio.h> #include <stdlib.h> void swap(int *a, int *b) { int tmp; tmp = *a; *a = *b; *b = tmp; } int main() { int a = 10; int b = 20; swap(&a, &b); printf("a=%d ...

yufy0528的博客 360

FPGA以太网接口设计避坑指南:GMII与RGMII时序转换的三种实现方案对比

本文深入解析FPGA以太网接口设计中GMII与RGMII时序转换的三种实现方案,包括Xilinx官方IP核、手工原语逻辑和开源方案gmii_to_rgmii。通过对比分析各方案的优缺点和适用场景,为工程师提供技术选型指南,帮助避免常见设计陷阱,提升高速网络设备开发的效率和可靠性。

weixin_42570484的博客 383

C语言复习题目

题目描述:有n人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来的第几号的那位。题目描述:对输入的两个整数a,b,用指针变量作为函数参数,交换a和b的值。题目描述:用一个函数实现两个字符串的比较,即自己写一个strcmp函数。输出最大的那个字符串。

qq_63974399的博客 2787

开关电源的纹波和噪声电压-抑制方法

开关电源(包括AC/DC转换器、DC/DC转换器、AC/DC模块和DC/DC模块)与线性电源相比较,最突出的优点是转换效率高,一般可达80%~85%,高的可达90%~97%;其次,开关电源采用高频变压器替代了笨重的工频变压器,不仅重量减轻,体积也减小了,因此应用范围越来越广。 但开关电源的缺点是由于其开关管工作于高频开关状态,输出的纹波和噪声电压较大,一般为输出电压的1%左右(低的为输出电压的0.5%左右),最好产品的纹波和噪声电压也有几十mV;而线性电源的调整管工作于线性状态,无纹波电压,输出的噪声电压也

ltqdxl的博客 1万+

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口)

C++调用海康相机SDK采集图像(C++\QT Creator\openCV\线程\接口) 之前写了一篇关于C++调用海康相机SDK采集图像的文章,有很多人私下发送消息咨询了一些问题,由于工作繁忙,只答复了一部分问题,今天抽出时间从头梳理了一下大家提出的问题,把我能够回答的问题都解答一次。上一次的程序只是简单的实现了图像的采集,没有使用到线程,今天把程序重新做出调整,把线程和多态加进去。文章最后有项目的下载地址。 我使用的是QT Creator这个IDE,版本信息如下: 我把相机采集的图像转换为openC

大樱桃的博客 1万+

C语言:任意输入两个整数,交换并输出(合集)

C语言:任意输入两个整数,交换并输出(多种要求实现) 自定义函数实现,数组实现,简单实现,错误辨析。

DouXiulu的博客 2万+

Unity详细介绍说明限制Unity帧率的方式

在Unity开发中,帧率(FPS,Frames per Second)是一个非常重要的表现标准,它直接影响了游戏运行的流畅度。在某些应用场景里,我们可能需要手动限制帧率。限制帧率可以减少电脑的CPU和GPU负载,使运行更加稳定,同时对于移动设备来说还能有效降低电量消耗。下面就详细介绍几种限制Unity中帧率的方式。

zjw1349547081的专栏 5435

在main函数实现两个数的输入并用函数实现两个数的值相换(两种方法实现)

在main函数实现两个数的输入并用函数实现两个数的值相换 1. 方法一 void f(int *x,int *y)//定义、声明函数 { int t;//临时变量 t=*x; *x=*y; *y=t;//关于汉诺塔这个是最简单的算法 } #include<stdio.h> main() { int a,b; printf("输入两个数:"); scanf("%d,%d",&a,&b); int *x=&a; int *y=&b; f(x,

weixin_44871998的博客 2522

科研绘图系列:R语言绘制世界地图数据分布(world map)

科研绘图系列:R语言绘制世界地图数据分布(world map)

专注生信领域 527

SQL的基本介绍

1.什么是数据库?2.什么是数据库管理系统?3.什么是 SQL?1.数据库是保存有组织的数据的容器,通常是一个文件或一组文件,可以将其看作电子化的文件柜。用户可以对文件中的数据执行新增、删除、更新、查询等操作。2.数据库管理系统是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称DBMS。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户可以通过 DBMS 访问数据库中的数据,数据库管理员也可以通过 DBMS 进行数据库的维护工作。

shiwei0813的博客 2879

C++中exchange()函数的使用方法(例题)

C++函数exchange() 已知函数exchange(int *a,int *b),作用是交换a和b的值。 题目:将a与b的数值交换。代码如下。 #include <iostream> using namespace std; #include <iostream> using namespace std; int exchange(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; return 0;

weixin_46632647的博客 7951

倾斜摄影与地面激光点云融合高精度建模研究

本文研究了倾斜摄影与地面激光点云融合精细化建模技术,并通过相应的源代码实现了建模过程。该方法将倾斜摄影和激光扫描相结合,能够获得高精度的三维建模结果,为相关领域的研究和应用提供了有力支持。近年来,倾斜摄影和激光扫描技术的快速发展为高精度三维建模提供了新的机遇和挑战。本文针对倾斜摄影与地面激光点云融合建模这一前沿领域展开研究,旨在通过相应的源代码实现精细化的建模过程。同时,使用激光扫描仪进行地面激光扫描,获取地面的点云数据。经过数据融合和精细化建模处理后,我们获得了高精度的三维建模结果。

LpmShell的博客 1245

PTA题集——基础——第7周编程练习

多项式加法(5分) 题目内容: 一个多项式可以表达为x的各次幂与系数乘积的和,比如: 2x6+3x5+12x3+6x+20 现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。 程序要处理的幂最大为100。 输入格式: 总共要输入两个多项式,每个多项式的输入格式如下: 每行输入两个数字,第一个表示幂次,第二个表示该幂次的系数,所有的系数都是整数。第一行...

小菜鸡的博客 1164

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

第7周基础练习(wenufbewug)

1两个数的排序(10分) 编写函数,对输入的两个参数排序,即在主函数中输入a,b两个整数,调用函数,若a>b交换a,b的值,使得在主函数a<=b。在主函数中输出a,b。主函数如下: int main() { int a, b; cin >> a >> b; sort(&a , &b); cout << a << " " << b << endl; return 0; } 输入:两个整数,用空格隔开

weixin_46292082的博客 298

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

计算机程序设计C++(第7周基础练习)

计算机程序设计C++ MOOC测试与作业C++基础练习100题 测试与作业C++基础练习100题 ##第七周基本练习 本周为指针的使用,指针是C++中非常重要的一个工具 两个数的排序 #include &amp;amp;quot;iostream&amp;amp;quot; using namespace std; void sort(int *a, int *b) { int temp; if (*a &amp;amp;amp;gt; *b) { t...

初见还是重逢的博客 2844

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

练习题——程序设计入门——C语言学习笔记——第7周:数组运算

预见未来to50的专栏 194

马鞍山电大计算机应用基础作业及答案,2021年马鞍山市对口考试要做哪些题目?计算机应用基础(Windows7+office2010)周测月考单元卷...

&nbsp&nbsp[导读]:2021年马鞍山市对口考试要做哪些题目?计算机应用基础(Windows7+office2010)周测月考单元卷,更多安徽对口考试报名时间、考试时间以及考试模拟试题,请访问易考吧安徽对口考试栏目2021年马鞍山市对口考试要做哪些题目?计算机应用基础(Windows7+office2010)周测月考单元卷为了帮助广大考生更好的复习2021年对口考试,做好备...

weixin_32504329的博客 190

课后练习 - 测验3: Python基础语法(下) (第7周)

Python语言程序设计 嵩天、黄天羽、礼欣 测验3: Python基础语法(下) (第7周) 斐波那契数列计算 B 斐波那契数列如下: F(0) = 0,F(1) = 1,F(n) = F(n-1) + F(n-2) 用户输入一个整数n,输出所有不超过n的斐波那契数列元素、输出数列的元素和及平均数,输出按照顺序,用英文逗号和空格分割 past = 0...

Sunlight的博客 3746

python 7周自学计划

导读:本文大约1153字,预计阅读时间2分钟。本文纯属技术文,无推广。 前言 我要告诉你“我是如何开始学习python并从小白成为大牛的”。除此之外,我还将告诉您Python方面的新的工作机会。 制定目标 我的学习历程:我想免费学习Python,因此我必须养成每天的学习习惯(每天4个小时),甚至要利用我的周末。我的总体规划是设定目标并追逐目标。我为7个星期设定了7个目标! 第1周 我的第一周目标-(Python基础知识)作为初学者,我们的第一周目标应该是-熟悉Python基础知识,例如变量,条件,列表,循环

farley的成长之路 2307

计算机应用基础上册周测10,2021年浙江省对口考试要做哪些题目?计算机应用基础(Windows7+office2010)周测月考单元卷...

&nbsp&nbsp[导读]:2021年浙江省对口考试要做哪些题目?计算机应用基础(Windows7+office2010)周测月考单元卷,更多浙江对口考试报名时间、考试时间以及考试模拟试题,请访问易考吧浙江对口考试栏目2021年浙江省对口考试要做哪些题目?计算机应用基础(Windows7+office2010)周测月考单元卷为了帮助广大考生更好的复习2021年对口考试,做好备考工...

weixin_39925413的博客 217

【机器学习-学习计划】零基础快速入门机器学习

本文为机器学习初学者提供了一个为期8周的系统学习计划,旨在帮助学习者掌握机器学习的基本概念、常用算法及实践技能。学习计划分为四个阶段:基础准备、机器学习基础理论、实战项目练习和进阶学习与拓展。建议学习者理论与实践结合,多交流讨论,注重问题解决,逐步积累经验,最终能够运用机器学习解决实际问题。

qq_36453147的博客 2241

计算机应用基础周测11,2021年江苏省对口考试要做哪些题目?计算机应用基础(Windows7+office2010)周测月考单元卷...

&nbsp&nbsp[导读]:2021年江苏省对口考试要做哪些题目?计算机应用基础(Windows7+office2010)周测月考单元卷,更多江苏对口考试报名时间、考试时间以及考试模拟试题,请访问易考吧江苏对口考试栏目2021年江苏省对口考试要做哪些题目?计算机应用基础(Windows7+office2010)周测月考单元卷为了帮助广大考生更好的复习2021年对口考试,做好备考工...

weixin_33277243的博客 212

中国大学MOOCPython语言程序设计基础学习笔记和课后练习第7周(南京邮电大学)

中国大学MOOCPython语言程序设计基础学习笔记和课后练习第7周(南京邮电大学)前情提要1.[中国大学MOOCPython语言程序设计基础学习笔记和课后练习1-4周(南京邮电大学)](https://blog.youkuaiyun.com/weixin_45718919/article/details/115439347)2.[中国大学MOOCPython语言程序设计基础学习笔记和课后练习5-6周(南京邮电大学)](https://blog.youkuaiyun.com/weixin_45718919/article/deta

python学习提升 6341

第二阶段:Compose基础 (2-3周)

2. 基础组件:Text, Button, Column, Row3. 状态管理:remember, mutableStateOf4. 事件处理:点击、输入综合练习:计数器App。

qq_16677155的博客 371

【第七周】工作计划表

第六周工作计划表                                                                     姓   名  孙越 学   号 11303080110 入 职 时 间 3.31 本周已完成工作内容及总结

水晶之夜的专栏 790
上一篇: 第7周编程作业
下一篇: 第5周中级练习
渐行渐远,
博客等级 码龄7年 173粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值