实验答案--函数

合集下载

MATLAB实验答案(桂电)

MATLAB实验答案(桂电)

实验一 MATLAB入门(1)1.实验目的:(1)了解MATLAB的体系结构与特点,熟悉其集成开发环境。

(2)熟悉MATLAB界面窗口的功能和使用方法。

(3)熟悉MATLAB的帮助系统及使用方法。

(4)了解MATLAB的的数据类型、基本形式和数组的产生方法。

(5)掌握MATLAB基本的数学运算操作。

2.实验原理(1)MATLAB简介MATLAB是美国MathWorks公司开发的高性能的科学与工程计算软件。

它在数值计算、自动控制、信号处理、神经网络、优化计算、小波分析、图像处理等领域有着广泛的用途。

近年来, MATLAB在国内高等院校、科研院所的应用逐渐普及,成为广大科研、工程技术人员必备的工具之一。

MATLAB具有矩阵和数组运算方便、编程效率极高、易学易用、可扩充性强和移植性好等优点,俗称为“草稿纸式的科学计算语言”。

它把工程技术人员从繁琐的程序代码编写工作中解放出来,可以快速地验证自己的模型和算法。

经过几十年的扩充和完善,MATLAB已经发展成为集科学计算、可视化和编程于一体的高性能的科学计算语言和软件开发环境,整套软件由MATLAB开发环境、MATLAB语言、MATLAB数学函数库、MATLAB图形处理系统和MATLAB应用程序接口(API)等五大部分组成。

MATLAB的主要特点包括强大的计算能力(尤其是矩阵计算能力)、方便的绘图功能及仿真能力、极高的编程效率。

另外,MATLAB还附带了大量的专用工具箱,用于解决各种特定领域的问题。

通过学习软件的基本操作及其编程方法,体会和逐步掌握它在矩阵运算、信号处理等方面的功能及其具体应用。

通过本课程实验的学习,要求学生初步掌握MATLAB的使用方法,初步掌握M文件的编写和运行方法,初步将MATLAB运用于数字信号处理中。

循序渐进地培养学生运用所学知识分析和解决问题的能力。

(2)MATLAB的工作界面(Desktop)与操作MATLAB 安装成功后,第一次启动时,主界面如下图(不同版本可能有差异)所示:其中① 是命令窗口(Command Window ),是MATLAB 的主窗口,默认位于MATLAB界面的右侧,用于输入命令、运行命令并显示运行结果。

《C语言与程序设计》实验06---函数

《C语言与程序设计》实验06---函数

实验六函数一、实验目的1. 熟练掌握函数的定义、函数的类型和返回值。

2. 熟练掌握形式参数与实际参数、参数值的传递。

3. 掌握函数的嵌套调用与递归调用。

4.学会使用指向函数的指针变量。

5.了解指向指针的指针的概念及带参数的main函数。

6. 掌握局部变量和全局变量。

7. 掌握变量的存储类型。

8. 了解内部函数和外部函数。

二、实验学时:8课时三、预习知识1.标准库函数标准库函数是C系统提供的,这些库函数定义了一些基本的、常用的功能,用户可以使用这些库函数,但是在使用库函数之前需要用预编译命令# include将该库函数所在的头文件包含进来。

2.自定义函数定义函数一般有两种形式形式1:存储类型类型符函数名(类型符形参1,类型符形参2 ,… ) { 说明语句执行语句}形式2:存储类型类型符函数名(形参1,形参2 ,……)形参类型说明{ 说明语句执行语句}说明:①形参表中即使没有参数,函数名后的一对圆括号也不能省略。

②函数名前的类型符是用来说明函数返回值的数据类型(也作为函数的数据类型) 。

当函数值为整型时,类型符可以省略。

③当函数只完成某一特定操作不需要返回值时,可用类型标识符 void 说明,将函数定义成空类型。

④C 规定:不允许在一个函数内部再定义另外一个函数,即函数不允许嵌套定义。

⑤函数的存储类型:函数的存储类型有 extern 和 static 两种。

extern 型的函数除了可以被本程序中其它函数调用外,还可以被其它文件中的函数调用,这种函数称为外部函数,如果定义函数时省略 extern ,则隐含为外部函数。

static 型的函数只能被本源程序文件中的函数调用,称为内部函数(静态函数)。

3.函数的参数(1)在定义函数时函数名后面括号中的变量称为形参(形式参数),如果有两个以上形参,形参之间以逗号分隔。

形参是函数的内部变量,只在函数内部才有意义。

在未出现函数调用时,形参不占内存。

对每个形参必须指明其名字和数据类型。

c语言上机实验题及参考答案

c语言上机实验题及参考答案
4、编写程序,求1-3+5-7+...-99+101的值。(文件名为44.c。备注:程序运行结果为51,关于符号转换的问题可以参考教科书上的例6.6)
5、两个乒乓球队进行比赛,各出3人,甲队为A,B,C 3人,乙队为X,Y,Z 3人。已抽签决定比赛名单。有人向队员打听比赛的名单。A说他不和X比,C说他不和X、Z比。请编程序找出3队赛手的名单。(C语言源程序文件名为45.c,本程序运行结果:A--Z B--X C--Y)
2 14 14
5 10 15
8 6 16
11 2 17)
2、编写程序:输入两个正整数,求其最大公约数和最小公倍数。(如输入12和8,则最大公约数为4,最小公倍数为24)(C语言源程序文件名为42.c。要求求最大公约数用欧几里得的辗转相除法实现)。
3、编写程序实现以下功能:输入一个正整数,打印出它是否素数。(C语言源程序文件名为43.c)
例如:有定义int a=3;执行输出语句:printf(“a=%3d”,a);则输出结果显示为:a= 3(3左边有两个空格)
n(代表一个正整数)
对实数,表示输出n位小数。
例如:有定义float x=1.2;执行输出语句:printf(“x=%6.2f”,x);则输出结果显示为:x= 1.20(数字左边有两个空格)。
三、附加题:
9、编程实现:从键盘上输入一个三位正整数m,输出将m的个位,十位,百位反序而成的三位数(例如:输入m的值123,则输出m的值为321)(要求:文件名为15.c,提示:可用算术运算符“/”和“%”先分离出m的各个位数,再重新组合成新的数,例如用表达式“123%10”就能求出123的个位数3)。
三、实验题目:
if语句基本形式:if(条件){语句一;}

C语言实验5-8答案(函数与数组)

C语言实验5-8答案(函数与数组)

任务
1.fact(j-1)*j
2.gcd(n,m%n)
m<n
3.//for(j=0;j<=n-i;j++)
//printf("");//删除这两行,因为顶格输出,不要空行了。
y==1||y==x
z=c(x-1,y-1)+c(x-1,y)
4.程序代码如下:
#include<stdio.h>
fib(int n)
#include <stdio.h>
main( )
{double fun(int m);//先调用再定义,且不是能缺省的int型,请加上函数说明。
int m;
printf("\n input m:");
scanf("%d",&m);
printf("\n t= %12.10lf \n",fun(m));
j=2
j—
i+j==2
输出为:a=13,b=14
4.i=1
x[i-1]
5.m<1000
m/10%10或m/10-x*10
a[i]=m
m<i
输出结果为:153 370 371 407
6.a
a
sum/n
x[i]<ave
任务
1.‘\0’
str1[i]-str2[i]
2.c[k]=a[i++];
c[k]=b[j++];
return yes;
}
main( )
{
int n;
scanf("%d",&n);

C语言在线实验第5次(第七章函数)-题目与答案

C语言在线实验第5次(第七章函数)-题目与答案

第五次实验题目-第七章函数教学目标31.一元二次方程的系数:a、b、c由主函数输入,编写函数求方程的根。

#include <stdio.h>#include <math.h>void root(double a, double b, double c){ double delta,x1,x2,m,n;if (fabs(a) <= 1e-6){if (fabs(b) <= 1e-6)puts("Not an equation");elseprintf("x=%.2lf",-c/b);return;}else{delta=b*b - 4*a*c;m = -b / (2*a);n = sqrt(fabs(delta)) / (2*a);x1 = m + n;x2 = m - n;if (fabs(delta) <= 1e-6)printf("x1=%.2lf, x2=%.2lf", x1, x1);else if (delta < 0)printf("x1=%.2lf+%.2lfi, x2=%.2lf-%.2lfi",m,n,m,n);elseprintf("x1=%.2lf, x2=%.2lf", x1, x2);}}int main( ){ double a,b,c;scanf("%lf%lf%lf",&a,&b,&c);root(a,b,c);return 0;}教学目标32.输入一串字符,统计其中英文字母的个数,编写统计英文字母个数的函数。

#include<stdio.h>int numberOfLetter(char str[]) {int i=0;int num = 0;//统计字母个数while (str[i]!=’\0’) {if ((str[i]>='A'&& str[i]<='Z')||( str[i]>='a'&& str[i]<='z')) num++;i++;}return num;}int main( ) {char str[100];int letterNum;printf("Enter a string: ");gets(str);letterNum = numberOfLetter(str);printf("Number of letters is %d.\n", letterNum);return 0;}教学目标33. 求100以内所有素数的和。

济南大学c语言实验答案(DOC)

济南大学c语言实验答案(DOC)

实验2 顺序结构程序设计1. 编写程序,从键盘输入一个大写字母,将它转换为对应的小写字母后输出。

参考程序:#include "stdio.h"void main(){char ch;printf(“\nPlease input a capital character:”);scanf(“%c”,&ch);ch=ch+32;printf(“\nThe small letter is %c”,ch);}2.编写程序,输入圆半径r ,求圆周长、圆面积、圆球体积。

参考程序:#include <stdio.h>#include <math.h>#define PI 3.14void main(){float r,c,area,v;printf(“\nPlease input the r:”);scanf(“%f”,&r);c=2*PI*r;area=PI*r*r;v=4.0/3*PI*pow(r,3);printf(“\nThe circle’s perimeter is %.2f”,c);printf(“\nT he circle’s area is %.2f”,area;printf(“\nThe circle’s volume is %.2f”,v);}3. 输入一个华氏温度,要求输出摄氏温度。

公式为:()3295-=F c 输出要有文字说明,取2位小数。

参考程序:#include <stdio.h>void main(){float f,c;printf(“\nPlease input a F temperature:”);scanf(“%f ”,&f);c=5.0/9*(f-32);printf(“\nThe temperature is %.2f ”,c);}4. 有3个电阻r1、r2、r3并联,编写程序计算并输出并联后的电阻r 。

实验6 函数 习题及答案

实验6  函数 习题及答案
}
(2)a2.cppe "stdio.h"
int fun(int num)
{
int k=1;
do
{
k*=num %10;/
num/=10;
}while(num);
return(k);
}
void main()
{
int n=26;
printf("%d\n",fun(n));
#include "stdio.h"
int swap(int a,int b)
{
int c,s;
c=a;
a=b;
b=c;
s=a+b;
return s;
}
void main()
{
int a,b,s;
a=3;b=4;
s=swap(a,b);
printf("a=%d b=%d s=%d\n",a,b,s);
{
flag=1;
t[i++]=c;
}
else if(flag)
{
t[i]='\0';
printf("decimal number %d:\n",htoi(t));
printf("continue or not(Y/N)?");
c=getchar();
if(c=='N' || c=='n')
flag1=0;
}
(4)b4.cpp
程序说明:在主函数中读入一字符串,再读入一字符,然后调用函数dele在字符串中查找并删除该字符,最后输出该字符串。
#include "stdio.h"

实验3 函数的极值以及符号表达式的计算-答案

实验3 函数的极值以及符号表达式的计算-答案

实验3 函数的极值以及符号表达式的计算-答案1、求函数)sin()(t t e t f t -=在[0,1]内的最小值点以及最小值。

编辑ff2.m 文件:function f=ff(t)f=exp(t)-t*sin(t);调用函数>> [t,favl]=fminbnd('ff',0,1)t =6.6107e-005favl =1.00012、对以下表达式进行因式分解,然后再将分解的结果进行展开,检查因式分解结果是否正确。

(1)12234++++x x x x(2)6555234-++-x x x x(1)>> syms x>> f=x^4+x^3+2*x^2+x+1;>> s=factor(f)s =(x^2+x+1)*(x^2+1)>> expand(s)ans =x^4+x^3+2*x^2+x+1(2)>> syms x>> f= x^4-5*x^3+5*x^2+5*x-6;>> s=factor(f)s =(x-1)*(x-2)*(x-3)*(x+1)>> expand(s)ans =x^4-5*x^3+5*x^2+5*x-63、对以下表达式进行化简。

(1)123842+++x x x(2)x x 22sin cos 2-(1)>> syms x>> f=(4*x^2+8*x+3)/(2*x+1);>> s=simplify(f)s =2*x+3(2)>> syms x>> f=2*cos(x)^2-sin(x)^2;>> s=simplify(f)s =3*cos(x)^2-14、求下列函数的极限。

(1)4586lim 224+-+-→x x x x x (2)x x x /)sin(lim 0→ (1)>> syms x>> f=(x^2-6*x+8)/(x^2-5*x+4);>> limit(f,x,4)ans =2/3(2)>> syms x>> limit(sin(x)/x,x,0)ans =15、 首先作出函数)/1cos(x y =在区[-1,-1e-6]区间上的图形,观测图形在0=x 附近的形状,判断)/1cos(x y =函数在0=x 极限的存在性。

实验七-运算符重载参考答案

实验七-运算符重载参考答案

实验七-运算符重载参考答案实验七多态性—函数与运算符重载7.1 实验目的1.理解掌握成员函数方式运算符重载;2.理解掌握友元函数方式运算符重载;3.理解掌握++、--运算符的重载。

7.2 实验内容7.2.1程序阅读1.理解下面的程序,并运行查看结果,回答程序后面的问题。

#include <iostream>using namespace std;class CComplex{public:CComplex(){real = 0;imag = 0;}CComplex(int x,int y){real = x;imag = y;}int real;int imag;CComplex operator + (CComplex obj1)//---------------------------------------------①{CComplex obj2(real - obj1.real, imag - obj1.imag);return obj2;}};int main(){CComplex obj1(100,30);CComplex obj2(20, 30);CComplex obj;obj = obj1+obj2; //------------------------------------------------------------------②cout << obj.real <<endl;cout << obj.imag << endl;return 0;}问题一:①处的运算符重载,为什么该函数的返回值要设计成CComplex类型?答:因为在函数中return obj2,obj2是CComplex 类型,所以函数返回值要与return返回的类型相同,即设计成CComplex类型。

问题二:②处的运算符重载函数调用就相当于“obj=operator+(obj1,obj2);”,但是为什么CComplex类中的运算符重载函数只设计了一个参数?答:因为成员函数经编译后会产生this指针,this指针会指向调用该函数的obj1对象,该obj1对象就是就相当于函数的第一个参数。

C语言程序设计实验六函数答案《西北民大电气学院》

C语言程序设计实验六函数答案《西北民大电气学院》

实验六函数一,实验目的:1,掌握定义函数的方法.2,掌握函数实参与形参的对应关系,以及"值传递"的方式.3,掌握函数的嵌套调用和递归调用的方法.4,掌握全局变量和局部变量动态变量,静态变量的概念和使用方法.二,实验准备:1,复习函数调用的基本理论知识.2,复习函数的嵌套调用和递归调用的方法.3,复习全局变量,局部变量;静态变量,动态变量;外部变量等概念和具体使用. 4,源程序.三,实验步骤及内容:1,运行程序并回答问题(1)程序main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n")}void print_message(){ printf("Good Friend! \n");}void play(n)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}}问题:运行后出现什么错误为什么应如何修改请上机调试.修改:main(){ play(3);}void print_star(){ printf("* * * * * * * * * *\n");(缺少分号)}void print_message(){ printf("Good Friend! \n");}play(n)(原先void的与声明类型不同)int n;{ int i;for(i=1;i<=n;++i){ print_star();print_message();}getch();}运行结果(2)以下程序用于计算1+2+3+4+5.main(){ int i,sum;for(i=1;i<=5;++i)sum=add(i);printf("sum=%d\n",sum);getch();}add (a)int a;{static int s=0;s=s+a;return(s);}运行结果:问题:此程序能否得到正确结果为什么请在不增加语句的条件下,修改程序并上机调试.(3)程序int x=567,y=890;main(){ printf("x=%d,y=%d\n",x,y);}运行结果:问题:运行程序后出现什么错误为什么如何修改答:定义位置出错,y的定义在主函数之后了,将y的定义改在和x一样的位置处。

C语言程序设计实验五 参考答案

C语言程序设计实验五  参考答案
5-2、以下程序的功能:输出3—1000之间的素数。选择合适的内容填入空白处,并调试运行程序。
答案:
#include<stdio.h>
void main()
{
int i,j,num=0;
for(i=3;i<=1000;i++)
{
for(j=2;j<=1000;j++)
if(i%2==0)
break;
5-4从键盘输入一个整数n,计算2n+1与++n之和。要求计算两数之和用函数实现。
答案:
#include<stdio.h>
void main()
{
int a;
int sum(int n);
printf("input n:\n");
scanf("%d",&a);
sum(a);
}
int sum(int n)
if(i%2!=0)
{
printf("%5d",i);
num++;
if(num%10==0)
printf("\n");
}
}
printf("\n");
}
*************************************************************************************************************实验三*******************************************
c语言程序设计实验五参考答案实验解答实验五参考答案编程语言c语言吧c语言答案

南邮数学实验答案

南邮数学实验答案

第一次练习题1、求032=-x e x 的所有根。

>>x=-5:0.01:5;y=exp(x)-3*x.^2;plot(x,y);grid on>> fsolve('exp(x)-3*x.^2',-1)Equation solved.fsolve completed because the vector of function values is near zeroas measured by the default value of the function tolerance, andthe problem appears regular as measured by the gradient.<stopping criteria details>ans =-0.4590>> fsolve('exp(x)-3*x.^2',1)Equation solved.fsolve completed because the vector of function values is near zeroas measured by the default value of the function tolerance, andthe problem appears regular as measured by the gradient.<stopping criteria details>ans =0.9100>> fsolve('exp(x)-3*x.^2',4)Equation solved.fsolve completed because the vector of function values is near zeroas measured by the default value of the function tolerance, andthe problem appears regular as measured by the gradient.<stopping criteria details>ans =3.73312、求下列方程的根。

实验4-函数

实验4-函数

实验4 函数程序填空1.普通参数本题分值:4题目描述:输入日期的年份和月份,求该月有多少天。

要求编写函数int daynum(int year,int month),求出以year为年份、以month为月份的某个月的天数。

以下是完成此项工作的程序,请在计算机上调试程序以补足其中的空格。

代码://通过日期求某月的天数。

#include<iostream>using namespace std;int main(){int daynum(int year,int month);int y,m,d;cin>>y>>m;if(y<1900 || y>=3000 || m<1 || m>12){cout<<"输入错误!"<<endl;return 0;}d=daynum(__(1)__); //以y、m作实参调用函数,求出该月的天数cout<<"此月的天数为"<<d<<endl;return 0;}int daynum(int year,int month){int days;switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12: days=31; break;case 4:case 6:case 9:case 11: days=30; break;case 2: if(year%4==0&&year%100!=0 || year%400==0)days=29;elsedays=28;break;}return __(2)__;}答案:(1) y,m(2) days每空分值:2参考答案:yx3-t1.cpp2.字符数组参数本题分值:4题目描述:编写一个函数,用来求字符串s的任意子串。

函数解析式(附答案)

函数解析式(附答案)
2.函数方程的解能使函数方程成立的函数叫做函数方程的解。如f(x)=x-1、偶函数、奇函数、周期函数分别是上述各方程的解
3.解函数方程求函数方程的解或证明函数方程无解的过程叫解函数方程
4.定理(柯西函数方程的解)
若f(x)是单调(或连续)函数且满足f(x+y)=f(x)+f(y) (x,y∈R)、则f(x)=xf(1)
∴f(x)=ex㏑f(1)=f(1)x
令f(1)=a,则f(x)=ax(a>0)
类似的,利用柯西函数方程的解,在连续或单调的条件下可得:
(1)若f(xy)=f(x)+f(y) (x>0,y>0),则f(x)=㏒ax
(2)若f(xy)=f(x)f(y) (x>0,y>0),则f(x)=x2
f((x-1)/x)+f(1/(1-x))=1+(x-1)/x②
用(x-1)/x取代②中的所有x得
f(1/(1-x))+f(x)=1+1/(1-x)③
①+③-②得f(x)=(x^2-x^3+1)/[2x(1-x)]
简单的函数方程(一)
函数方程的概念:
1.函数方程的定义含有未知函数的等式叫做函数方程。如f(x+1)=x、f(-x)=f(x)、f(-x)=-f(x)、f(x+2)=f(x)等。其中f(x)是未知函数
故f(x)= x2+x+
(2)已知f( +1)=x+2 ,那麽f(x)=____________。
略解:f( +1)=( +1)2-1,故f(x)=x2-1 (x≥1)
(3)已知f(x+ )=x2+ ,那麽f(x)=_______________。
略解:f(x+ )=(x+ )2-2,故f(x)=x2-2 (|x|≥2)
对a1具体给出一个这样的非常数的函数fxxfff?fx?其中n是正整数x叫做函数fx的n次迭代函数迭代是一种特殊的函数复合形式在现代数学中占有很重要的地位尤其是近年来在国内外数学竞赛屡次出现成为热点问题之一以引起广在数学爱好者x的表达式穿上或脱去n1个函数符号得出f程序化穿脱穿脱函数符号是一种有序的过程由内至外一层层穿上f或从外至内一层层脱去f往往是一种程序化的模式例19已知fx实验法穿脱许多情况下求解穿脱问题并非只是一种程序化的操作还需要用敏锐的思维和眼光去发现穿脱过程所蕴含的规律性实验是发现的源泉是发现规律的金钥匙

C语言实验报告 实验八 参考答案

C语言实验报告 实验八 参考答案

实验七八 函 数(一) 参考答案1.请编写程序sy8-1.cpp ,要求:(1)设计一个fun 函数用来计算并输出n (包括n )以内能被5 或9 整除的所有自然数的倒数之和。

(2)在主函数中输入数据,调用fun 函数,输出结果。

例如,若主函数从键盘给n 输入20后,则输出为s=0.583333。

【解题思路】用循环穷举1~n 之间各数,若余5等于0或余9等于0,则将其表示为倒数并累加即可。

注意分式若需要得到实数结果则必须至少有一个操作数是实数类型。

【参考答案】#include <stdio.h>double fun(int n){ double s=0;int i;for(i=1;i<=m;i++)if(i%5==0||i%9==0)s=s+1.0/i;return s;}main( ){ int n;double s;printf("\nInput n: ");scanf("%d",&n);s=fun(n);printf("s=%f\nlf",s);}2.请编写程序sy8-2.cpp ,要求:(1)设计一个fun 函数用来计算下列多项式的值。

(2)在主函数中输入数据,调用fun 函数,输出结果。

例如:若n 的值为11时,函数的值为1.83333【解题思路】根据多项式各项的变化规律可以看出各项的分子为常量1,分母是从1到n 累加和。

【参考答案】#include <stdio.h>float fun(int n){ float sum=0,s=0; //sum 存多项式的累加和,s 存分母的累加和int i;for(i=1;i<=n;i++){ s=s+i; //先求分母的累加sum=sum+1/s;}return sum;}main()n s ⋯++++⋯++++++=321132112111{int n; float s;printf("\nPlease enter n:");scanf("%d", &n);s = fun(n);printf("the result is: %f\n", s);}3.请编写程序sy8-3.cpp,要求:(1)设计一个fun函数,其功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中。

高等数学(第三版)各章实验作业题答案

高等数学(第三版)各章实验作业题答案

1. 作出函数[]53()3123,2,2f x x x x x =+-+∈-的图像.第1题图2. 求下列各极限.(1)1lim 1nn n →∞⎛⎫- ⎪⎝⎭; (2)sin lim x x x →∞;(3)0sin lim x x x →; (4)10lim x x e +→.解(1)11lim 1enn n →∞⎛⎫-= ⎪⎝⎭; (2)sin lim 0x x x →∞=;(3)0sin lim 1x xx →=; (4)12lim e x x e →3. 求方程20.2 1.70x x --=的近似解(精确到0.0001). 解 1 1.2077x ≈-,2 1.4077x ≈. 4. 探究高级计算器的其他功能.(略)1. 求函数3(21)y x x =-的导数; 操作:在命令窗口中输入:>> syms xy=x^3*(2*x -1); dy=diff(y) 按Enter 键,显示:dy = 3*x^2*(2*x -1)+2*x^3 继续输入:>> simplify(dy) % 将导数化简 按Enter 键,显示: ans =8*x^3-3*x^2即 3283y x x '=-. 2. 求函数()ln 1y x x =-+的二阶导数; 操作:在命令窗口中输入: >> syms xy=1-log(1+x); dy=diff(y,x,2) 按Enter 键,显示: dy = 1/(1+x)^2即 21(1)y x ''=+. 3.函数4322341y x x x x =-+-+在区间[-3,2]上的最小值. 操作:在命令窗口中输入:>>x=fminbnd('x^4-2*x^3+3*x^2-4*x+1',-3,2) y=x^4-2*x^3+3*x^2-4*x+1 按Enter 键,显示: x =1 y =-11.求下列不定积分(1)在命令窗口中输入: >> syms xint(x/(sqrt(x^2+1)),x)按键Enter 键,显示结果: ans = (x^2+1)^(1/2)即c +.(2)在命令窗口中输入: >> syms xint(x^3*cos(x))按键Enter 键,显示结果:ans =x^3*sin(x)+3*x^2*cos(x)-6*cos(x)-6*x*sin(x) 即332cos =sin 3cos 6cos 6sin x xdx x x x x x x x c +--+⎰. 2.求下列定积分(1)在命令窗口中输入: >> int((-3*x+2)^10,x,0,1) 点击Enter 键,显示结果: ans = 683/11 即1100683(-3+2)d =11x x ⎰. (2)在命令窗口中输入: >> int(x*sin(x),x,0,pi/2)点击Enter 键,显示结果: ans = 1 即 π20sin d =1x x x ⎰.3.求广义积分0e d x x x -∞⎰.操作:在命令窗口中输入: >>int(x*exp(x),x,-inf,0)按Enter 键,显示结果: ans =-1 即e d =1xx x -∞-⎰.1. 230y y y '''++=.操作:在命令窗口中输入: >> syms x y;y=dsolve('D2y -4*Dy -5*y=0','x') 显示:y =C1*exp(5*x)+C2*exp(-x)即满足所给初始条件的特解为:512xx y c e c e -=-.2. 232sin xy y e x '''-=.操作:在命令窗口中输入: >> syms x y;y=dsolve('D2y -3*Dy=2*exp(3*x)*sin(x)','x') 显示:y = -3/5*exp(3*x)*cos(x)-1/5*exp(3*x)*sin(x)+1/3*exp(x)^3*C1+C2即满足所给初始条件的特解为:33312311cos sin 553xxxy e x e x c e c =--++. 整理得:33213cos +sin 5xxy e x x ce c =-++()(令113c c =)3. +cos x y y y e x '''+=+,00x y ==,032x y ='=.操作:在命令窗口中输入: >> syms x y;y=dsolve('D2y+Dy+y=exp(x)+cos(x)','y(0)=0', 'Dy(0)=3/2', 'x') 显示:y = -1/3*exp(-1/2*x)*cos(1/2*3^(1/2)*x)+1/3*exp(x)+sin(x)即满足所给初始条件的特解为:211cos()sin 323x xy e e x -=-++.1. 绘制平面曲线ln y x =. 操作:在命令窗口中输入: >> x=1:0.02: exp(2); y=log(x); plot(x,y);按Enter 键,显示下图:2. 绘制空间曲面2232z x y =-. 操作:在命令窗口输入 >>[x,y]=meshgrid(-4:0.5:4); z=-3*x.^2-2*y.^2; surf(x,y,z)按Enter 键,显示下图:3. 绘制空间曲线23,23.t t t x e y e z e ---⎧=⎪⎪=⎨⎪=⎪⎩操作:在命令窗口输入>>t=0:0.01:1;x=exp(-t);y=exp(-2*t)/4;z=3*exp(-3*t)/9;plot3(x,y,z)按Enter键,显示下图:实验6作业题1. 求函数cos z xy =的偏导数. 操作:在命令窗口中输入:>> dz_dx=diff('cos(x*y)', 'x ') 显示dz_dx = -sin(x*y)*y 继续输入:>> dz_dy=diff('cos(x*y)', 'y ') 显示:dz_dy =-sin(x*y)*x即sin zx xy x∂=-∂, sin z x xy y ∂=-∂2. 计算函数23y x y =-的极值.操作:在matlab 中依次选择“File\New\M -File ”,在弹出的M 文件编辑窗口中在命令窗口中输入:clear all;clc syms x y;z=x^3-6*x-y^3+3*y;dz_dx=diff(z,x); %计算z 对x 的偏导数 dz_dy=diff(z,y); %计算z 对y 的偏导数 [x0,y0]=solve(dz_dx,dz_dy); %求驻点x0,y0A_=diff(z,x,2); %计算z 对x 的二阶偏导数B_=diff(diff(z,x),y); %计算z 对x,y 的二阶混合偏导数 C_=diff(z,y,2); %计算z 对y 的二阶偏导数 x0=double(x0); %数据转换 y0=double(y0);n=length(x0); %计算x0中元素的个数 for i=1:nA_x=subs(A_, x,x0(i)); %把x=x0(i)(即x0的第i 个元素值)代入z 对x 的二阶偏导数A=subs(A_x, y,y0(i)); %继续把y=y0(i)(即y0的第i 个元素值)代入z 对x 的二阶偏导数,得到AB_x=subs(B_, x,x0(i)); %把x=x0(i)代入z 对x 、y 的二阶混合偏导数 B=subs(B_x, y,y0(i)); %继续把y=y0(i)代入二阶混合偏导数,得到B C_x=subs(C_, x,x0(i)); %把x=x0(i)代入z 对y 的二阶偏导数C=subs(C_x, y,y0(i)); %继续把y=y0(i)代入z 对y 的二阶偏导数,得到C D=A*C-B^2;text=['原函数在(',num2str(x0(i)), ', ',num2str(y0(i)), ')处' ]; if D>0fm=subs(x^3-6*x-y^3+3*y,{x,y},{x0(i),y0(i)}); %求函数值 if A>0disp([text, '有极小值',num2str(fm)]) %在命令窗口中输出 elsedisp([text, '有极大值',num2str(fm)])end end if D==0disp([text, '的极值情况还不确定,还需另作讨论' ]) end end保存后,选择M 文件编辑窗口中的“Debug\run ”,显示如下结果: 原函数在(1.4142,-1)处有极小值-7.6569 原函数在(-1.4142,1)处有极大值7.65693. 计算(2)d d Dx y x y -⎰⎰,D :顶点分别为(0,0),(1,1)和(0,1)的三角形闭区域;操作:在命令窗口中输入: >>syms x y;S=int(int(2*x-y,y,0,1-x),x,0,1) 显示: S=1/6即:二重积分1(2)d d =6Dx y x y -⎰⎰.实验7作业题1. 将函数xx f -=11)(展开为幂级数,写出展开至6次幂项. 操作:在命令窗口中输入: >> clear;clc syms x; f=1/(1-2*x); taylor(f,7,x) 显示:ans = 1+2*x+4*x^2+8*x^3+16*x^4+32*x^5+64*x^6即65432643216842111x x x x x x x ++++++=-. 2. 求函数2()tf t e =的拉氏变换.操作:在命令窗口中输入: >> clear;clc syms x;laplace(exp(2*t)) 显示: ans = 1/(s -2)即 21)(2-=s e L t. 3.求函数22()56s F s s s +=-+的拉氏逆变换.操作:在命令窗口中输入: >>syms silaplace((s+2)/(s^2-5*s+6)) 显示:ans =-4*exp(2*t)+5*exp(3*t)即 12256s L s s -+⎡⎤⎢⎥-+⎣⎦234e 5e t t =-+.。

c语言程序设计实验指导书答案

c语言程序设计实验指导书答案

c语言程序设计实验指导书答案C语言程序设计实验指导书是帮助学生理解和掌握C语言编程技能的重要工具。

本指导书旨在通过一系列实验,引导学生从基础语法到高级编程技巧,逐步提高编程能力。

以下是一些实验题目和相应的答案示例,以供参考。

实验一:C语言基础语法实验目的:- 熟悉C语言的基本语法结构。

- 掌握变量声明、数据类型和运算符的使用。

实验内容:1. 编写一个程序,输入两个整数,输出它们的和、差、积和商。

实验答案:```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("和是:%d\n", num1 + num2);printf("差是:%d\n", num1 - num2);printf("积是:%d\n", num1 * num2);if (num2 != 0) {printf("商是:%d\n", num1 / num2);} else {printf("除数不能为0。

\n");}return 0;}```实验二:控制结构实验目的:- 掌握条件语句和循环语句的使用。

实验内容:1. 使用循环语句计算1到100的和。

实验答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {sum += i;}printf("1到100的和是:%d\n", sum); return 0;}```实验三:数组和字符串- 掌握数组和字符串的声明、初始化和使用。

实验内容:1. 编写一个程序,输入一个字符串,然后反转该字符串并输出。

[练习]C语言实验七、函数程序设计答案

[练习]C语言实验七、函数程序设计答案

实验七 函数及程序结构(二)一、实验目的1.掌握函数的嵌套调用和递归调用2.掌握数组做函数参数的用法3.掌握全局变量和局部变量的用法。

?4.掌握变量的存储类别。

?二、实验内容1.[目的]掌握函数的嵌套调用方法。

[题目内容] 编写程序计算cb a 。

要求设计主函数main()读取a 、b 、c 的值,并调用ratio 函数计算a/(b-c)的值。

如果(b-c)=0那么ratio 就不能计算,因此,ratio 函数调用另一个函数dif ,以测试(b-c)的差是否为零,如果b 不等于c ,dif 返回1,否则返回0。

[输入] a 、b 、c 的值[输出] 计算结果[提示] main 函数调用ratio 函数,ratio 函数调用dif 函数。

三个函数平行定义,嵌套调用。

#include <stdio.h>void main(){float ratio(int x,int y ,int z);int dif(int x,int y);int a,b,c;float d;printf("请输入a,b,c:");scanf("%d%d%d",&a,&b,&c);d=ratio(a,b,c);if(d==0.0) printf("b-c 为零。

");else printf("%d/(%d-%d)=%f\n",a,b,c,d);}float ratio(int x,int y ,int z){if(dif(y ,z)==1) return (float)x/(float)(y-z);else return 0.0;}int dif(int x,int y){if(x==y) return 0;else return 1;}2.[目的]利用标准库提供的随机数功能。

[题目内容]编写程序,帮助小学生练习乘法计算。

二年级下册数学实验手册答案苏州专用

二年级下册数学实验手册答案苏州专用

二年级下册数学实验手册答案苏州专用1、函数y=kx(k是不为0的常数)是()。

[单选题] *正比例函数(正确答案)一次函数反比例函数二次函数函数2、260°是第()象限角?[单选题] *第一象限第二象限第三象限(正确答案)第四象限3、33、点P(-5,-7)关于原点对称的点的坐标是()[单选题] *A. (-5,-7)B. (5,7)(正确答案)C. (5,-7)D. (7,-5)4、下列各式中能用平方差公式的是()[单选题] *A. (x+y)(y+x)B. (x+y)(y-x)(正确答案)C. (x+y)(-y-x)D. (-x+y)(y-x)5、11.小文买了一支温度计,回家后发现里面有一个小气泡(即不准确了),先拿它在冰箱里试一下,在标准温度是零下7℃时,显示为℃,在36℃的温水中,显示为32℃,那么用这个温度计量得的室外气温是23℃,则室外的实际气温应是()[单选题] *A.27℃(正确答案)B.19℃C.23℃D.不能确定6、43、长度分别为3cm,5cm,7cm,9cm的四根木棒,能搭成(首尾连结)三角形的个数为[单选题] *A.1B.2C.3(正确答案)D.47、1.计算| - 5 + 3|的结果是[单选题] *A. - 2B.2(正确答案)C. - 8D.88、6.已知集合A={0,1,2},则集合B={(x,y)|x≥y,x∈A,y∈A}中元素的个数是( ) [单选题] * A.1B.3C.6(正确答案)D.99、17.若a与﹣2互为相反数,则a的值是()[单选题] *A.﹣2B.C.D.2(正确答案)10、5.下列说法中正确的是()[单选题] *A.没有最大的正数,但有最大的负数B.没有最小的负数,但有最小的正数C.没有最小的有理数,也没有最大的有理数(正确答案)D.有最小的自然数,也有最小的整数11、计算-(a-b)3(b-a)2的结果为( ) [单选题] *A. -(b-a)?B. -(b+a)?C. (a-b)?D. (b-a)?(正确答案)12、(正确答案)函数y=4x+3的定义域是()。

MATLAB全部实验及答案

MATLAB全部实验及答案
2)A*B和A.*B
3)A^3和A.^3
4)[A,B]和[A([1,3],:);B^2]
2、设有矩阵A和B,A=[1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20;21 22 23 24 25],B=[3 0 16;17 -6 9;0 23 -4;9 7 0;4 13 11]
使用Windows的“开始”菜单。
运行MATLAB系统的启动程序matlab.exe。
利用桌面上的快捷方式。
MATLAB主窗口
命令窗口(Command Window)
当前目录窗口(Current Directory)
工作空间窗口(Workspace)
命令历史窗口(Command History)
2、下列符号中哪些是MATLAB的合法变量名?用给变量赋值的方法在机器上验证你的答案(3vars、global、help、My_exp、sin、X+Y、_input、E-4、AbCd、AB_C_。)
6、利用MATLAB提供的rand函数和圆整函数随机生成4X3整数矩阵A,进行如下操作
1)A各列元素的平均值和中值
平均值
>> A_mean=mean(A)
A_mean =
0.5000 0.7500 0.7500
中值
>> A_median=median(A)
A_median =
0.5000 1.0000 1.0000
整数类型的运算函数
创建逻辑类型数据的函数
MATLAB的逻辑运算
MATLAB的关系运算
格式化字符
三、主要仪器及耗材
计算机
四、实验内容和步骤
1、已知A=[12 34 -4;34 7 87;3 65 7],B=[1 3 -1;2 0 3;3 -2 7],求下列表达式的值:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1、编一个带有函数得程序。

在main()函数中输入一个字符串(长度<20),调用函数fun将该字符串中得所有字符按ASCII码升序排序,然后再输出排序后得字符串.例如,输入edcba,则应输出abcde、。

#include〈stdio、h〉#include <string、h>int main(){void fun(char x[],inty);int i;char c[20];printf("Please input chars:\n”);gets(c);i=strlen(c);fun(c,i);return0;}voidfun(char x[],int y){int i,j;char c;for(i=0;i〈y-1;i++)for(j=i+1;j<y;j++)if(x[i]>x[j]){ c=x[i];x[i]=x[j]; x[j]=c;}puts(x);}2、下面程序得功能就是依次取出字符串中所有数字字符,形成新得字符串,并取代原字符串;(如:abcd123efg456变为123456).修改该程序,要求将红色部分用一个函数来实现。

#include”stdio、h"main(){ char s[15];int i,j;scanf("%s",s);for (i=0,j=0;s[i]!='\0';i++)if(s[i]>='0’ && s[i]〈=’9’){s[j]=s[i];j++; }s[j]=’\0';printf("\nThe result:");printf(”%s",s);}#include〈stdio、h〉intmain(){void fun(char x[]);chars[15];printf("Input charsto fills[15]:\n”);scanf(”%s",s);fun(s);return 0;}voidfun(charx[]){int i,j;for(i=0,j=0;x[i]!='\0';i++)if(x[i]>='0’&&x[i]<='9'){ x[j]=x[i];j++;}x[j]=’\0’;puts(x);}3、编写带有函数得程序(函数名为:int fun(int s[],int *k)),功能就是求出数组得最大元素在数组中得下标并存放在k所指得存储单元中。

例如:输入如下整数876675896 101301401 980431 451 777则输出结果为:6,980。

#include<stdio、h>void fun(int s[],int *k){int i,max=s[0];for(i=1;i<10;i++)if(max〈s[i]){ max=s[i]; *k=i;}}int main(){inta[10]={876,675,896,101,301,401,980,431,451,777};int k;fun(a,&k);printf(”%d,%d\n",k,a[6]);return 0;}4、在main()函数中,已有一个已排好序得整型数组,今输入一个整数,调用函数fun(),其功能就是按原来排序得规律将它插入数组中。

例如:原来数组得元素依次为4、6、8、41、56、77、102。

若将42插入数组中,则插入后数组元素依次为4、6、8、41、42、56、77、89、102。

#include〈stdio、h〉void fun (ints[],int m){inti,j;for(i=0;;i++)if(s[i]〈m&&s[i+1]〉m)break;for(j=6;j〉i;j—-)s[j+1]=s[j];s[i+1]=m;}int main(){ints[8]={4,6,8,41,56,77,102};inti,m;puts("Pleaseinput m:");scanf("%d”,&m);fun(s,m);for(i=0;i<8;i++)printf("%d ”,s[i]);putchar('\n’);return0;}5、下面程序得功能就是将字符数组s2中得全部字符拷贝到字符数组s1中。

拷贝时,’\0’也拷贝过去,但’\0’后面得字符不拷贝。

修改该程序,要求将红色部分用一个函数来实现。

main(){char s1[80],s2[80];int i;scanf("%s”,s2);for(i=0;s2[i]!=’\0’;i++)s1[i]=s2[i];s1[i]=’\0’;printf("s1:%s\n",s1);}#include<stdio、h>void xp(chars1[],char s2[]){inti;for(i=0;s2[i]!='\0';i++)s1[i]=s2[i];s1[i]='\0';}int main(){char s1[80],s2[80];puts("Input charsof s2[]:");gets(s2);xp(s1,s2);printf("s1:%s\n",s1);return0;}6、编写带有函数得程序(函数名为:fun()),功能就是将ss所指字符串中下标为奇数位置上得字母转换为大写(若该位置上不就是字母,则不转换,注意下标就是从0开始得).例如:输入abbcc45ghNj,则应输出aBbCc45GhNj。

#include<stdio、h〉voidfun(char x[]){inti;for(i=1;x[i]!=’\0’;i=i+2)if(x[i]>'a’&&x[i]<'z’)x[i]=x[i]—32;}int main(){char ss[80];puts("Input chars tofill ss[]:”);gets(ss);fun(ss);puts(ss);return 0;}7、在main()函数中,先从键盘上输入一个3行3列整型数组得各个元素得值,然后调用函数fun(),其功能就是计算并返回主对角线元素之与。

#include <stdio、h〉int fun(inta[][3]){int i,j,s=0;for(i=0;i〈3;i++)for(j=0;j<3;j++)if(i==j) s=s+a[i][j];return s;}int main(){int i,j,k,a[3][3];puts(”Input9numbers tofill a[3][3]:");for(i=0;i<3;i++)for(j=0;j〈3;j++)scanf(”%d",&a[i][j]);k=fun(a);printf(”主对角线之与=%d",k);return0;}8、下面程序得功能就是用冒泡法对10个整数按降序进行排序.修改该程序,要求将红色部分用一个函数来实现。

main(){ int a[11],i,j,t;printf("Input10 numbers:\n");for(i=1;i<11;i++)scanf("%d”,&a[i]); printf("\n");for(j=1;j<=9;j++)for(i=1;i<=10—j;i++)if(a[i]〈a[i+1]){t=a[i];a[i]=a[i+1]; a[i+1]=t;}printf("The sortednumbers:\n”);for(i=1;i〈11;i++)ﻩprintf("%d",a[i]);}#include <stdio、h>void fun(inta[]){int i,j,t;for(j=1;j〈=9;j++)for(i=1;i<=10-j;i++)if(a[i]〈a[i+1]){ t=a[i];a[i]=a[i+1];a[i+1]=t;}}int main(){inta[11],i;printf(”Input10 numbers:\n”);for(i=1;i<11;i++)scanf("%d”,&a[i]);printf("\n");fun(a);printf("The sortednumbers:\n”);for(i=1;i〈11;i++)printf("%d",a[i]);putchar('\n’);return 0;}9、编写带有函数得程序(函数名为:int fun()),功能就是从整数1到55之间,选出能被3整除、且有一位上得数就是5得那些数,并把这些数放在b所指得数组中,这些数得个数作为函数值返回.结果应该就是:15 4551 54#include〈stdio、h>int fun(int b[]){inti,j=0;for(i=1;i<=55;i++)if(i%3==0)if(i/10==5||i%10==5){ b[j]=i;j++;}returnj;}intmain(){int a[100],k,m;m=fun(a);printf(”The result is:\n");for(k=0;k〈m;k++)printf(”%4d”,a[k]);printf(”\n");return0;}10、下面程序得功能就是将两个字符串连接起来,不要用strcat函数。

修改该程序,要求将红色部分用一个函数来实现。

main(){char s1[80],s2[80];inti=0,j;scanf("%s",s1);scanf(“%s”,s2);while(s1[i]!=’\0’)i++;for(j=0;s2[j]!=’\0’;)s1[i++]=s2[j++];s1[i]='\0';printf("s1:%s\n",s1);}#include 〈stdio、h〉voidxp(char s1[],char s2[]){int i=0,j;while(s1[i]!='\0')i++;for(j=0; s2[j]!=’\0';)s1[i++]=s2[j++];s1[i]=’\0';}int main(){char s1[80],s2[80];puts(”Inputchars to fills1[]:");gets(s1);puts(”Input charsto fills2[]:”);gets(s2);xp(s1,s2);puts(s1);return0;}11、编写带有函数得程序(函数名为fun),功能就是求出ss所指字符串中指定字符得个数,并返回此值.例如:输入123412132,再输入字符1则应输出3。

相关文档
最新文档