实验七 函数
- 格式:docx
- 大小:895.60 KB
- 文档页数:6
一、实验目的1. 理解函数的概念及其应用。
2. 掌握函数的基本性质和运算。
3. 应用函数解决实际问题。
4. 提高数学思维能力和解决问题的能力。
二、实验内容本次实验主要围绕以下内容展开:1. 函数的定义及性质2. 常见函数的图像和性质3. 函数的运算4. 函数在实际问题中的应用三、实验步骤1. 函数的定义及性质(1)首先,我们学习了函数的定义:设A、B是两个非空数集,如果按照某种确定的对应关系f,使得对于集合A中的任意一个数x,在集合B中都有唯一确定的数y与之对应,则称这种对应关系f为从集合A到集合B的一个函数,记作f:A→B。
(2)接着,我们探讨了函数的基本性质,如单调性、奇偶性、周期性等。
(3)最后,我们分析了函数的图像,了解函数图像与函数性质之间的关系。
2. 常见函数的图像和性质(1)我们学习了幂函数、指数函数、对数函数、三角函数等常见函数的图像和性质。
(2)通过绘制函数图像,我们观察了函数的增减性、对称性、周期性等特征。
(3)我们掌握了如何根据函数图像分析函数性质的方法。
3. 函数的运算(1)我们学习了函数的加法、减法、乘法、除法、复合等基本运算。
(2)通过练习,我们熟练掌握了函数运算的技巧。
(3)我们了解了函数运算在实际问题中的应用。
4. 函数在实际问题中的应用(1)我们学习了如何利用函数解决实际问题,如优化问题、增长率问题等。
(2)通过实例分析,我们掌握了函数在实际问题中的应用方法。
(3)我们提高了运用数学知识解决实际问题的能力。
四、实验结果与分析1. 函数的定义及性质通过实验,我们掌握了函数的定义和基本性质,如单调性、奇偶性、周期性等。
同时,我们了解了函数图像与函数性质之间的关系。
2. 常见函数的图像和性质通过绘制函数图像,我们直观地观察了函数的增减性、对称性、周期性等特征。
这有助于我们更好地理解函数的性质。
3. 函数的运算通过练习,我们熟练掌握了函数的加法、减法、乘法、除法、复合等基本运算。
实验七:窗函数及其在谱分析中的作用实验目的:在理论学习的基础上,掌握不同窗函数的性质、特点,并通过实验认识它们在克服FFT 频谱分析的能量泄漏和栅栏效应误差中的作用,以便在实际工作中能根据具体情况正确选用窗函数。
实验任务:1.执行下面例程,分析不同窗函数的特点并比较结果。
2.编程实现汉宁窗。
演示其时域和频域波形。
信号的截断产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。
下图是几种常用的窗函数的时域和频域波形,其中矩形窗主瓣窄,旁瓣大,频率识别精度最高,幅值识别精度最低;布莱克曼窗主瓣宽,旁瓣小,频率识别精度最低,但幅值识别精度最高。
下面是四个常用窗函数的示例程序,可在Matlab下执行,注意比较它们的特点。
1.矩形窗:wp=0.2*pi;ws=0.3*pi;rp=.25;as=50;delta1=(10^(rp/20)-1)/(10^(rp/20)+1);delta2=(1+delta1)*(10^(-as/20));deltah=max(delta1,delta2);deltal=min(delta1,delta2);weights=[delta2/delta1 1];deltaf=(ws-wp)/(2*pi);M=ceil((-20*log10(sqrt(delta1*delta2))-13)/(14.6*deltaf)+1); M=M+4;f=[0 wp/pi ws/pi 1];m=[1 1 0 0];h=remez(M-1,f,m,weights);delta_w=2*pi/1000;wsi=ws/delta_w+1;wpi=wp/delta_w;asd=-max(db(wsi:501));figure(4);subplot(211);stem([0:M-1],h);title('actual impulse response') axis([0 M-1 -0.1 0.3]),xlabel('n');ylabel('h(n)')set(gca,'xtick',[0,M-1])set(gca,'ytick',[-0.1 0 0.1 0.2 0.3]),gridsubplot(212);plot(w/pi,db),title('magnitude response in db'), axis([0 1 -80 10]),xlabel('frequency in pi units')ylabel('decibels')set(gca,'xtick',[0 .2 .3 1])set(gca,'ytick',[-50,0])%set(gca,'YTickLabels',['50';'0'])grid2.汉明窗wp=0.2*pi;ws=0.3*pi;tr_width=ws-wp;m=ceil(8*pi/tr_width)+1;n=[0:m-1];wc=(ws+wp)/2;hd=ideal_lp(wc,m);w_ham=(hamming(m))';h=hd.*w_ham;delta_w=2*pi/1000;rp=-(min(db(1:1:wp/delta_w+1)));as=-round(max(db(ws/delta_w+1:1:501)));figure(1)subplot(221);stem(n,hd);title('ideal impuse response')axis([0 m-1 -.1 .3]);ylabel('hd(n)')subplot(222);stem(n,w_ham);title('hamming window')axis([0 m-1 0 1.1]);ylabel('w(n)')subplot(223);stem(n,h);title('actual impulse response')axis([0 m-1 -0.1 .3]);ylabel('h(n)')subplot(224);plot(w/pi,db);title('magnitude response in db');grid axis([0 1 -100 10]);ylabel('decibels')set(gca,'xtickmode','manual','xtick',[0,.2,.3,1])set(gca,'ytickmode','manual','ytick',[-50,0])%set(gca,'yticklabelmode','manual','yticklabels',['50';'0'])3.布莱克曼窗ws1=.2*pi;wp1=.35*pi;wp2=.65*pi;ws2=.8*pi;as=60;tr_width=min((wp1-ws1),(ws2-wp2));m=ceil(12*pi/tr_width)+1;n=[0:m-1];wc1=(ws1+wp1)/2;wc2=(ws2+wp2)/2;hd=ideal_lp(wc2,m)-ideal_lp(wc1,m);w_bla=(blackman(m))'; h=hd.*w_bla;delta_w=2*pi/1000;rp=-min(db(wp1/delta_w+1:wp2/delta_w));as=-round(max(db(ws2/delta_w+1:501)));figure(2)subplot(221);stem(n,hd);title('ideal impulse response')axis([0 m-1 -0.4 0.5]);ylabel('hd(n)')subplot(222);stem(n,w_bla);title('blackman window')axis([0 m-1 0 1.1]);ylabel('w(n)')subplot(223);stem(n,h);title('actual impulse response')axis([0 m-1 -0.4 0.5]);ylabel('h(n)')subplot(224);plot(w/pi,db);title('magnitude response in db');grid ylabel('decibels'),axis([0 1 -150 10])set(gca,'xtickmode','manual','xtick',[0,.2,.35,.65,.8,1])set(gca,'ytickmode','manual','ytick',[-60,0])%set(gca,'yticklabelmode','manual','yticklabels',['60';'0'])4.凯泽窗m=45;as=60;n=[0:m-1];beta=0.1102*(as-8.7);w_kai=(kaiser(m,beta))';wc1=pi/3;wc2=2*pi/3;hd=ideal_lp(wc1,m)+ideal_lp(pi,m)-ideal_lp(wc2,m);h=hd.*w_kai;figure(3)subplot(2,2,1);stem(n,hd);title('ideal impulse response') axis([-1 m -0.2 0.8]);xlabel('n');ylabel('hd(n)')subplot(2,2,2);stem(n,w_kai);title('kaiser window')axis([-1 m 0 1.1]);xlabel('n');ylabel('w(n)')subplot(2,2,3);stem(n,h);title('actual impulse response') axis([-1 m -0.2 0.8]);xlabel('n');ylabel('h(n)')subplot(2,2,4);plot(w/pi,db)title('magnitude response in db');grid;xlabel('frequency in pi units');ylabel('decibels') axis([0 1 -80 10]),set(gca,'xtickmode','manual','xtick',[0,1/3,2/3,1]) set(gca,'ytickmode','manual','ytick',[-60,0])。
实验七 连续信号与系统复频域分析的MATLAB 实现一、实验目的1. 掌握连续时间信号拉普拉斯变换的MATLAB 实现方法;2. 掌握连续系统复频域分析的MATLAB 实现方法。
二、实验原理1. 连续时间信号的拉普拉斯变换连续时间信号的拉普拉斯正变换和逆变换分别为:⎰∞∞--=dt e t f s F st )()(⎰∞+∞-=j j stds e s F j t f σσπ)(21)(Matlab 的符号数学工具箱(Symbolic Math Toolbox )提供了能直接求解拉普拉斯变换和逆变换的符号运算函数laplace()和ilaplace ()。
下面举例说明两函数的调用方法。
(1)拉普拉斯变换例1.求以下函数的拉普拉斯变换。
)()()2()()()1(221t te t f t e t f t t εε--==解:输入如下M 文件:syms tf1=sym('exp(-2*t)*Heaviside(t)'); F1=laplace(f1) %求f1(t)的拉普拉斯变换 f2=sym('t*exp(-t)*Heaviside(t)'); F2=laplace(f2) 运行后,可得如下结果:F1 = 1/(s+2) F2 = 1/(s+1)^2 (2)拉普拉斯逆变换例2.若系统的系统函数为1]Re[,231)(2->++=s s s s H 。
求冲激响应)(t h 。
解:输入如下M 文件:H=sym('1/(s^2+3*s+2)');h=ilaplace(H) %求拉普拉斯逆变换运行后,可得如下结果:h=exp(-t)-exp(-2*t) 2. 连续系统的复频域分析 若描述系统的微分方程为∑∑===Mj j j Ni i i t f b t ya 0)(0)()()(则系统函数为)()()()()(00s A s B sa sb s F s Y s H Ni ii Mj jj===∑∑== 其中,∑∑====Mj j j Ni i i s b s B s a s A 0)(,)(。
实验七 参考答案(参考答案)(1) (sy7-1.c )请编写函数fun ,它的功能是:计算并输出n (包括n )以内能被5 或9 整除的所有自然数的倒数之和。
例如,若主函数从键盘给n 输入20后,则输出为s=0.583333。
注意:n 的值要求不大于100。
算法分析:使用for 循环i ,遍历n 包含n 以内的所有整数,逐一判断每个i ,是否满足条件(能被5 或9 整除),如果满足,则把它的倒数累加到累加器里。
注意:i 的倒数要表示成:1.0/i;参考子函数如下:double fun(int n){double sum=0;int i;for(i=5;i<=n;i++)if(i%5==0||i%9==0)sum=sum+1.0/i;return sum;}(2) (sy7-2.c ) 请编写函数fun ,其功能是:根据以下公式计算s ,并计算结果作为函数值返回,n 通过形参传入。
n s ⋯++++⋯++++++=321132112111例如:若n 的值为11时,函数的值为1.83333算法分析:等式右边从第二项(i=2)开始,其分母等于前一项的分母加上i ;一共有n 项;求出每项的分母,然后把每项进行累加。
参考子函数如下:float fun(int n){float sum=1; //sum 中已经累加了第一项的值int i,m=1; //m 表示每项的分母;for(i=2;i<=n;i++){ m=m+i;sum=sum+1.0/m;}return sum;}(3) (sy7-3.c)请编写函数fun,其功能是:将两个两位数的正整数a、b 合并形成一个整数放在c 中。
合并的方式是:将 a 数的十位和个位依次放在c 数的十位和千位上,b 数的十位和个位数依次放在c 数的个位和百位上。
例如,当a=45,b=12,调用该函数后,c=5241。
算法分析:对一个两位数n,它的各位可以通过n%10求的,它的十位数可以通过n/10求的;所以分别用上述方法求的a和b的个位和十位,同时按照要求累加到c里。
MATLAB实验班级:11电气(2)姓名:幸劲昆学号:201124122201实验一 MATLAB 运算基础(一)一、实验目的1、掌握建立矩阵的方法。
2、掌握MATLAB 各种表达式的书写规则以及各种运算方法。
二、实验内容1、求下列表达式的值。
(1)e=2.73;z1=2*sin((85/360)*2*pi)/(1+e^2) z1 =0.2357 (2)()x x z ++=1ln 212,其中⎢⎣⎡-=45.02x ⎥⎦⎤+521i x=[2 ,1+2i;-0.45,5]x =2.0000 1.0000 + 2.0000i -0.4500 5.0000z2=0.5*log(x+sqrt(1+x)) z2 =0.6585 0.6509 + 0.4013i -0.6162 1.0041 (3)a=[-3.0:0.1:3.0];z3=(exp(0.3*a)-exp(0.2*a))./2.*sin(a+0.3);plot(z3)2、已知⎢⎢⎢⎣⎡=33412A 65734 ⎥⎥⎥⎦⎤-7874 和 ⎢⎢⎢⎣⎡=321B 203- ⎥⎥⎥⎦⎤-731 求下列表达式的值:(1)A+6*B 和A-B+I (其中I 为单位矩阵)。
a=[12 34 -4;34 7 87;3 65 7] b=[1 3 -1;2 0 3;3 -2 7] I=eye(3)a =b = I =12 34 -4 1 3 -1 1 0 02 03 34 7 87 0 1 03 -2 7 3 65 7 0 0 1z1=a+6*b z2=a-b+Iz1 = z2 =18 52 -10 12 31 -346 7 105 32 8 8421 53 49 0 67 1(2)A*B和A.*B。
>> a*b >> a.*bans = ans =68 44 62 12 102 4309 -72 596 68 0 261154 -5 241 9 -130 49(3)A^3和A.^3。
实验七 JavaScript程序设计一、实验目的:深刻理解有关函数中变量的作用域和各类控制语句的功能;理解和灵活运用JavaScript中常用的几个对象及浏览器对象的属性和方法;二、实验要求:回顾和复习以前C语言的基本语法知识;进一步加深理解Javascript语法知识;三、实验器材:Windows 2000 Server计算机系统;安装IIS、Dreamweaver MX 2004、Access 2000数据库系统等。
四、实验内容:1、关于变量的作用域调试下列程序,观察并说明窗口中显示的结果;<scr ipt la ngu age="j ava scr ipt">var x=13,y=29;fun cti on tes t(){var nu m,y=10;num=x+y;x++doc ume nt.wri te("内部的num的值为:"+num+”<br>”);}tes t();docu men t.w rit e("测试x的值为:"+x+”<br>”);docu men t.w rit e("测试y的值为:"+y+”<br>”);docu men t.w rit e("外部的n um的值为:"+n um+”<br>”);</sc rip t>2、控制语句与函数的应用,用3种方式实现(if语句、条件表达式、函数调用);根据时间段的不同,在网页中显示不同的问候语,若小时数在12点以前,则输出“早上好!”的问候语,颜色为绿色;若在12点至18点,则输出“下午好!”颜色为黄色;18点以后输出“晚上好!”颜色为黑色。
[参考代码]方法1:<scr ipt la ngu age="j ava scr ipt">v ar cur day=ne w D ate();h our s=c urd ay.get Hou rs();d ocu men t.w rit e("现在是:"+ho urs+"点,");i f (hou rs<=12) {doc ume nt.wri te("<f ont co lor='00ff00'>早上好!</fo nt>");}e lse if(hou rs<=18){d ocu men t.w rit e("<fo nt col or='ff ff00'>中午好!</fo nt>");}e lse{d ocu men t.w rit e("<fo nt col or='000000'>晚上好!</fon t>");}</sc rip t>3、运用windows对象的属性与方法实现动感网页效果;(1)运用JavaScript和windows对象setTimeout方法编程实现在网页中不断显示不同图片的动画效果,有几个按钮控制该动画的不同效果,分别为:放大、缩小、向前、向后、停止、启动;[参考代码]<bod y><img sr c="" a lt="" nam e="my_ima ge" wi dth="32" hei ght="32" i d="my_ima ge" /><Scr ipt La ngu age="J ava Scr ipt">va r i mag e,i=1func tio n i mag e_c han ge() {i f(i==5) {i=1;}my_ima ge.src="I mag e"+i+".jp g";i=i+1;ima ge=setT imeo ut('ima ge_c hang e()',1000);}imag e_c han ge(); //函数调用;</Sc rip t></bo dy>按钮代码:(2)运用JavaScript和windows对象status属性编程实现网站状态行跑马灯式文字效果的显示:“欢迎光临本站”。
实验七用Maple解常微分方程1. 实验目的本实验旨在通过使用数学建模软件Maple来解常微分方程,加深对常微分方程解法的认识和理解。
通过实际操作和观察结果,提高对Maple软件的运用能力。
2. 实验原理常微分方程是描述物理、化学、工程等领域中的连续变化过程的常见数学工具。
解常微分方程可以帮助我们理解系统的演化规律,从而进行预测和控制。
Maple是一款强大的数学软件,其中包含了丰富的求解常微分方程的函数。
通过输入常微分方程的表达式,Maple可以直接给出解析解或数值解。
在本实验中,我们将使用Maple来解常微分方程。
3. 实验步骤3.1 安装Maple软件3.2 打开Maple软件双击桌面上的Maple图标,打开软件。
3.3 输入常微分方程点击菜单栏中的"输入",选择"数学输入",在弹出的对话框中输入常微分方程的表达式。
例如,我们要解的方程是一阶线性常微分方程`dy/dx + y = 0`,则输入表达式为:diff(y(x),x) + y(x) = 03.4 求解方程点击菜单栏中的"执行",选择"执行工作表",Maple将根据输入的方程进行求解。
3.5 查看解析解或数值解Maple会给出方程的解析解或数值解。
根据实验需求,可以选择相应的解进行查看和分析。
3.6 导出结果点击菜单栏中的"文件",选择"导出为",选择导出格式和保存路径,点击"保存",将结果导出为文档或图像文件。
4. 实验结果根据实验中输入的常微分方程,Maple求解得到如下解析解:y(x) = C exp(-x)其中C为任意常数。
5. 实验总结通过本次实验,我们研究了使用Maple软件求解常微分方程的方法。
Maple的强大功能和简便操作使得解常微分方程变得更加容易。
通过实际操作,我们可以深入理解常微分方程的解法和物理意义。
实验七-运算符重载参考答案实验七多态性—函数与运算符重载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对象就是就相当于函数的第一个参数。
实验七虚函数及应用一、实验目的1.理解虚函数与运行时(动态)多态性之间的关系,掌握虚函数的定义及应用;2.理解纯虚函数与抽象类的概念,掌握抽象类的定义及应用;3.理解虚析构函数的概念及作用。
二、实验学时课内实验:2课时课外练习:2课时三本实验涉及的新知识㈠虚函数与动态多态性在C++中,如果将基类与派生类的同名成员函数定义为虚函数,就可以定义一个基类指针,当基类指针指向基类对象时访问基类的成员函数,当基类指针指向派生类对象时访问派生类的成员函数,实现在运行时根据基类指针所指向的对象动态调用成员函数,实现动态多态性。
换句话说,虚函数与派生类相结合,使C++能支持运行时(动态)多态性,实现在基类中定义派生类所拥有的通用“接口”,而在派生类中定义具体的实现方法,即“一个接口,多种方法”。
㈡虚函数的定义1.在基类中定义在定义函数的前面加上“virtual ”。
即:virtual 返回类型函数名(参数表){ …… }2.在派生类中定义函数的返回类型、函数名、参数的个数、参数类型及顺序必须与基类中的原型完全相同。
3.说明:⑴在派生类中定义虚函数时,可用“virtual”也可不用“virtual”(最好都使用)。
⑵虚函数在派生类中重新定义时,其原型必须与基类中相同。
⑶必须用基类指针访问虚函数才能实现运行时(动态)多态性;当用普通成员函数的调用方法(即用圆点运算符)调用虚函数时,为静态调用;⑷虚函数在自身类中必须声明为成员函数(不能为友元函数或静态成员函数),但在另一个类中可以声明为友元函数。
⑸虚函数可以公有继承多次,其虚函数的特性不变。
⑹构造函数不能定义为虚函数,但析构函数可以定义为虚函数。
⑺虚函数与重载函数的关系①普通函数重载是通过参数类型或参数的个数不同实现的;重载一个虚函数时,其函数原型(返回类型、参数个数、类型及顺序)完全相同。
②当重载的虚函数只有返回类型不同时,系统将给出错误信息;如果定义的虚函数只有函数名相同,而参数个数或类型不同时,则为普通函数重载。
实验七函数程序设计(二)练习1.用递归方法解决猴子吃桃子的问题(P129习题6.10)。
运行结果:1534练习2.编写一个程序,其中包含一个子函数,功能为删除字符串中指定的某个字符,并显示删除后的字符串。
子函数要求:形式为:vo id delete_string(cha r str[],char ch);运行结果示例:练习3.编写一个程序,其中包含一个子函数,功能为求出一个二维数组(从键盘读入)中每列的最小元素,并依次放入一个一维数组中。
例:子函数要求:形式为:vo id fun(int tt[M][N],int pp[N]);(其中,tt是一个M行N列的二维数组,pp为存放结果的一维数组。
)*练习4.编写一个程序,功能为将一个无序数组b(包含5个元素)中的每个元素插入另一个有序数组a (包含10个元素)中的适当位置,使插入后的数组a依然有序。
其中,包含3个子函数,各函数要求如下:●子函数1:功能为读入一包含n个元素的数组;形式为:voi d i np ut(int a[],i nt n);●子函数2:功能为将一个数值x插入到包含n个元素的有序数组中;●形式为:voi d ins ert(int a[],i nt n,int x);●子函数3:功能为输出一包含n个元素的数组;形式为:voi d o ut p ut(int a[],i nt n);实验八指针程序设计(一)练习1.用指针变量的处理方法编写一个程序,功能为读入一组(10个)数据后,逆向输出。
程序要求:练习2.用指针变量的处理方法编写一个程序,功能为将数组s(共10个元素,由随机数生成)中的数据位置两两对倒,并输出结果。
程序要求:程序中对数组的处理全部使用指针方式。
练习3.用指针变量的处理方法编写一个子函数,功能为从键盘读入一个已经排好序的数组(共10个数),再输入一个数,将此数按次序规律将它插入到数组中后输出结果。
函数要求:实参为指针变量,形参为数组名,且形式为:vo id insert(int x[ ], int m);其中:形参m为要插入的数据;函数无返回值。
实验七函数(一)
1.实验目的
(1)熟悉定义函数的方法
(2)熟悉声明函数的方法
(3)熟悉调用函数时实参与形参的对应关系,以及“值传递”的方式
(4)学习对多文件的程序的编译和运行
2.实验内容
编程序并上机调试运行之
(1)写一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息
本程序应当准备以下测试数据: 17,34,2,1,0。
分别运行并检查结果是否正确。
要求所编写的程序,主函数的位置在其他函数之前,在主函数中对其所调用的函数作声明。
进行以下工作:
<1>输人自己编写的程序,编译和运行程序,分析结果
<2>将主函数的函数声明删掉,再进行编译,分析编译结果
<3>把主函数的位置改为在其他函数之后,在主函数中不含函数声明
<4>保留判别素数的函数,修改主函数,要求实现输出100~200之间的素数(2)写一个函数,将一个字符串中的元音字母复制到另一字符串,然后输出
<1>输人程序,编译和运行程序,分析结果
<2>分析函数声明中参数的写法。
先后用以下两种形式
i: 函数声明中参数的写法与定义函数时的形式完全相同,如
void cpy(char s[ ],char c[ ]);
ii:函数声明中参数的写法与定义函数时的形式基本相同,但省略写数组名。
如:
void cpy(char[ ],char[ ]) ;
分别编译和运行,分析结果。
思考形参数组为什么可以不指定数组大小。
<3>如果随便指定数组大小行不行,如:
void cpy(char s[40 ],char [40])
请分别上机试一下。
(3)输人10个学生5门课的成绩,分别用函数实现下列功能:
<1>计算每个学生平均分;
<2>计算每门课的平均分;
<3>找出所有50个分数中最高的分数所对应的学生和课程
(4)用一个函数来实现将一行字符串中最长的单词输出。
此行字符串从主函数
传递给该函数
<1>把两个函数放在同一个程序文件中,作为一个文件进行编译和运行。
<2>把两个函数分别放在两个程序文件中,作为两个文件进行编译、连接和
运行。