实验(7)-函数-参考答案

合集下载

C语言实验-第七章-第九章2

C语言实验-第七章-第九章2

实验七:指针的应用【实验目的】1.掌握指针和指针变量,内存单元和地址、变量与地址、数组与地址的关系;2.掌握指针变量的定义和初始化,指针变量的引用方式;3.能正确使用数组的指针和指向数组的指针变量;【实验内容】1.填空题输入一个字符串,将其中的大写字母转换成小写字母,然后输出本程序主要是比较scanf()输入和gets()输入的区别#include <stdio.h>void main(){ char s[20];char *p=s;scanf(“%s”,p); /*注意用scanf()输入和gets()输入的区别*/while( 1 ){if( 2 ) *p=*p+ (‘a’-‘A’);p++ ;}puts ( 3 );}答案:1、*p!=’\0’2、(*p>='A')&&(*p<='Z')3、s运行结果:输入:Program输出:program输入:This is Program输出:this提示:scanf ()输入时遇到空格认为字符串结束,用gets()输入时只有遇到回车才认为字符串结束。

如键入any boy并回车,则2。

补充程序题输入15个整数存入一维数组,再按逆序重新调整该数组中元素的顺序然后再输出。

下面给出部分程序的内容,请将程序补充完整,然后上机调试。

部分程序清单如下:#include <stdio.h>void main(){ int a[15],*p1,*p2,x;for(p1=a;p1<a+15;p1++)scanf("%d",p1);for(p1=a,p2=a+14;p1<a+7;p1++,p2--){ x=*p1;*p1=*p2;*p2=x;}……}答案:for(p1=a;p1!=a+15;p1++)printf("%d ",*p1); // %d后面有一个空格运行结果:输入:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15输出:15 14 13 12 11 10 9 8 7 6 5 4 3 2 1提示:(1)在整型数组中,没有结束标志,必须依靠数组中数据元素的个数控制循环次数。

2020-2021年中考数学专题复习7一次函数(含答案)

2020-2021年中考数学专题复习7一次函数(含答案)

专题七一次函数学校:___________姓名:__________班级:___________考号:___________一、单选题1.一次函数y ax a =-与反比例函数(0)a y a x=≠在同一坐标系中的图象可能是( ) A . B . C . D . 2.已知在同一直角坐标系中二次函数2y ax bx =+和反比例函数c y x =的图象如图所示,则一次函数c y x b a=-的图象可能是( )A .B .C .D .3.数形结合是解决数学问题常用的思思方法.如图,直线y=x+5和直线y=ax+b ,相交于点P ,根据图象可知,方程x+5=ax+b 的解是( )A .x=20B .x=5C .x=25D .x=15 4.若定义一种新运算:(2)6(2)a ba b a b a b a b 例如:31312⊗=-=;545463⊗=+-=.则函数(2)(1)y x x =+⊗-的图象大致是( )A .B .C .D .二、填空题5.已知一次函数y=kx+b 的图象经过A (1,﹣1),B (﹣1,3)两点,则k 0(填“>”或“<”)6.点1,2m ⎛⎫- ⎪⎝⎭和点(2,)n 在直线2y x b =+上,则m 与n 的大小关系是_________.三、解答题7.如图,在平面直角坐标系中,直线112y x =--与直线22y x =-+相交于点P ,并分别与x 轴相交于点A 、B .(1)求交点P 的坐标;(2)求PAB 的面积;(3)请把图象中直线22y x =-+在直线112y x =--上方的部分描黑加粗,并写出此时自变量x 的取值范围.8.如图,在直角坐标系中,直线y 1=ax+b 与双曲线y 2=k x(k≠0)分别相交于第二、四象限内的A (m ,4),B (6,n )两点,与x 轴相交于C 点.已知OC =3,tan ∠ACO =23. (1)求y 1,y 2对应的函数表达式;(2)求△AOB 的面积;(3)直接写出当x <0时,不等式ax+b >k x的解集.9.如图,一次函数y kx b =+的图象与反比例函数m y x=的图象相交于()1,2A ,(),1B n -两点.(1)求一次函数和反比例函数的表达式;(2)直线AB 交x 轴于点C ,点P 是x 轴上的点,若ACP △的面积是4,求点P 的坐标.10.为让更多的学生学会游泳,少年宫新建一个游泳池,其容积为3480m ,该游泳池有甲、乙两个进水口,注水时每个进水口各自的注水速度保持不变,同时打开甲、乙两个进水口注水,游泳池的蓄水量()3y m与注水时间()t h 之间满足一次函数关系,其图象如图所示.(1)根据图象求游泳池的蓄水量()3y m 与注水时间()t h 之间的函数关系式,并写出同时打开甲、乙两个进水口的注水速度;(2)现将游泳池的水全部排空,对池内消毒后再重新注水.已知单独打开甲进水口注满游泳池所用时间是单独打开乙进水口注满游泳池所用时间的43倍.求单独打开甲进水口注满游泳池需多少小时?11.小明家今年种植的“红灯”樱桃喜获丰收,采摘上市20天全部销售完,小明对销售情况进行跟踪记录,并将记录情况绘成图象,日销售量y (单位:千克)与上市时间x (单位:天)的函数关系如图1所示,樱桃价格z (单位:元/千克)与上市时间x (单位:天)的函数关系式如图2所示.(1)观察图象,直接写出日销售量的最大值;(2)求小明家樱桃的日销售量y与上市时间x的函数解析式;(3)试比较第10天与第12天的销售金额哪天多?12.2020年初,新冠肺炎疫情爆发,市场上防疫口罩热销,某医药公司每月生产甲、乙两种型号的防疫口罩共20万只,且所有口罩当月全部售出,其中成本、售价如下表:(1)若该公司三月份的销售收入为300万元,求生产甲、乙两种型号的防疫口罩分别是多少万只?(2)如果公司四月份投入成本不超过216万元,应怎样安排甲、乙两种型号防疫口罩的产量,可使该月公司所获利润最大?并求出最大利润.13.因疫情防控需要,消毒用品需求量增加.某药店新进一批桶装消毒液,每桶进价50元,每天销售量y(桶)与销售单价x(元)之间满足一次函数关系,其图象如图所示.(1)求y与x之间的函数表达式;(2)每桶消毒液的销售价定为多少元时,药店每天获得的利润最大,最大利润是多少元?(利涧=销售价-进价)14.新冠疫情期间,口罩成为了人们出行必备的防护工具.某药店三月份共销售A ,B 两种型号的口罩9000只,共获利润5000元,其中A ,B 两种型号口罩所获利润之比为2:3.已知每只B 型口罩的销售利润是A 型口罩的1.2倍.(1)求每只A 型口罩和B 型口罩的销售利润;(2)该药店四月份计划一次性购进两种型号的口罩共10000只,其中B 型口罩的进货量不超过A 型口罩的1.5倍,设购进A 型口罩m 只,这10000只口罩的销售总利润为W 元.该药店如何进货,才能使销售总利润最大?15.今年植树节期间,某景观园林公司购进一批成捆的A ,B 两种树苗,每捆A 种树苗比每捆B 种树苗多10棵,每捆A 种树苗和每捆B 种树苗的价格分别是630元和600元,而每棵A 种树苗和每棵B 种树苗的价格分别是这一批树苗平均每棵价格的0.9倍和1.2倍.(1)求这一批树苗平均每棵的价格是多少元?(2)如果购进的这批树苗共5500棵,A 种树苗至多购进3500棵,为了使购进的这批树苗的费用最低,应购进A 种树苗和B 种树苗各多少棵?并求出最低费用.16.小刚去超市购买画笔,第一次花60元买了若干支A 型画笔,第二次超市推荐了B 型画笔,但B 型画笔比A 型画笔的单价贵2元,他又花100元买了相同支数的B 型画笔. (1)超市B 型画笔单价多少元?(2)小刚使用两种画笔后,决定以后使用B 型画笔,但感觉其价格稍贵,和超市沟通后,超市给出以下优惠方案:一次购买不超过20支,则每支B 型画笔打九折;若一次购买超过20支,则前20支打九折,超过的部分打八折.设小刚购买的B 型画笔x 支,购买费用为y 元,请写出y 关于x 的函数关系式.(3)在(2)的优惠方案下,若小刚计划用270元购买B 型画笔,则能购买多少支B 型画笔?17.为加快复工复产,某企业需运输批物资.据调查得知,2辆大货车与3辆小货车一次可以运输600箱;5辆大货车与6辆小货车一次可以运输1350箱.(1)求1辆大货车和1辆小货车一次可以分别运输多少箱物资;(2)计划用两种货车共12辆运输这批物资,每辆大货车一次需费用5 000元,每辆小货车一次需费用3000元.若运输物资不少于1500箱,且总费用小于54000元,请你列出所有运输方案,并指出哪种方案所需费用最少,最少费用是多少?18.如图,抛物线24y ax bx =++交x 轴于(3,0)A -,(4,0)B 两点,与y 轴交于点C ,AC ,BC .M 为线段OB 上的一个动点,过点M 作PM x ⊥轴,交抛物线于点P ,交BC 于点Q .(1)求抛物线的表达式;(2)过点P 作PN BC ,垂足为点N .设M 点的坐标为(,0)M m ,请用含m 的代数式表示线段PN 的长,并求出当m 为何值时PN 有最大值,最大值是多少?(3)试探究点M 在运动过程中,是否存在这样的点Q ,使得以A ,C ,Q 为顶点的三角形是等腰三角形.若存在,请求出此时点Q 的坐标;若不存在,请说明理由.参考答案1.D2.B3.A4.A5.<.6.m <n7.(1)()2,2-;(2)3;(3)2x <8.(1)y 1=﹣23x+2,y 2=﹣12x;(2)9;(3)x <﹣3 9.(1)一次函数的表达式为1y x =+,反比例函数的表达式为2y x=;(2)(3,0)或(-5,0)10.(1)y=140t+100,140m 3/h ;(2)8h11.解:(1)日销售量的最大值为120千克. (2)()()y 10x? 0x 12{y 15x 300? 12x 20=≤≤=-+<≤ (3)第10天的销售金额多.12.(1)甲、乙两种型号口罩的产量分别为15万只和5万只;(2)从而安排生产甲种型号的口罩17万只,乙种型号的口罩3万只时,获得最大利润,最大利润为108万元. 13.(1)函数的表达式为:y=-2x+220;(2)80元,1800元.14.(1)每只A 型口罩和B 型口罩的销售利润分别为0.5元,0.6元;(2)药店购进A 型口罩4000只、B 型口罩6000只,才能使销售总利润最大,最大利润为5600元15.(1)这一批树苗平均每棵的价格是20元;(2)购进A 种树苗3500棵,B 种树苗2000棵,能使得购进这批树苗的费用最低为111000元.16.(1)超市B 型画笔单价为5元;(2) 4.5,120410,20x x y x x ⎧=⎨+>⎩,其中x 是正整数;(3)小刚能购买65支B 型画笔.17.(1)1辆大货车和1辆小货车一次可以分别运输150箱,100箱物资;(2)共有3种方案,6辆大货车和6辆小货车,7辆大货车和5辆小货车;8辆大货车和4辆小货车,当安排6辆大货车和6辆小货车时,总费用最少,为48000元.18.(1)211433y x x =-++;(2)2PN =,当2m =时,PN 有最大值,最大值为3. (3)满足条件的点Q 有两个,坐标分别为:()1,3Q ,822Q ⎛- ⎝⎭.。

微积分复习题集带参考答案(二)

微积分复习题集带参考答案(二)

微积分习题集带参考答案综合练习题1(函数、极限与连续部分)1.填空题 (1)函数)2ln(1)(-=x x f 的定义域是 . 答案:2>x 且3≠x .(2)函数24)2ln(1)(x x x f -++=的定义域是 .答案:]2,1()1,2(-⋃--(3)函数74)2(2++=+x x x f ,则=)(x f . 答案:3)(2+=x x f(4)若函数⎪⎩⎪⎨⎧≥<+=0,0,13sin )(x k x xx x f 在0=x 处连续,则=k .答案:1=k (5)函数x x x f 2)1(2-=-,则=)(x f .答案:1)(2-=x x f(6)函数1322+--=x x x y 的间断点是 .答案:1-=x(7)=∞→xx x 1sin lim .答案:1(8)若2sin 4sin lim 0=→kxxx ,则=k .答案:2=k2.单项选择题(1)设函数2e e xx y +=-,则该函数是( ).A .奇函数B .偶函数C .非奇非偶函数D .既奇又偶函数 答案:B(2)下列函数中为奇函数是().A .x x sinB .2e e x x +- C .)1ln(2x x ++ D .2x x +答案:C(3)函数)5ln(4+++=x x xy 的定义域为( ). A .5->x B .4-≠x C .5->x 且0≠x D .5->x 且4-≠x答案:D(4)设1)1(2-=+x x f ,则=)(x f ( ) A .)1(+x x B .2xC .)2(-x xD .)1)(2(-+x x 答案:C(5)当=k ( )时,函数⎩⎨⎧=≠+=0,,2)(x k x e x f x 在0=x 处连续.A .0B .1C .2D .3 答案:D(6)当=k ( )时,函数⎩⎨⎧=≠+=0,,1)(2x k x x x f ,在0=x 处连续.A .0B .1C .2D .1- 答案:B (7)函数233)(2+--=x x x x f 的间断点是( ) A .2,1==x xB .3=xC .3,2,1===x x xD .无间断点 答案:A 3.计算题(1)423lim 222-+-→x x x x . 解:4121lim )2)(2()1)(2(lim 423lim 22222=+-=+---=-+-→→→x x x x x x x x x x x x (2)329lim 223---→x x x x解:234613lim )1)(3()3)(3(lim 329lim 33223==++=+-+-=---→→→x x x x x x x x x x x x (3)4586lim 224+-+-→x x x x x解:3212lim )1)(4()2)(4(lim 4586lim 44224=--=----=+-+-→→→x x x x x x x x x x x x x综合练习题2(导数与微分部分)1.填空题 (1)曲线1)(+=x x f 在)2,1(点的切斜率是 .答案:21 (2)曲线xx f e )(=在)1,0(点的切线方程是 . 答案:1+=x y(3)已知xx x f 3)(3+=,则)3(f '= . 答案:3ln 33)(2x x x f +=')3(f '=27()3ln 1+(4)已知x x f ln )(=,则)(x f ''= . 答案:x x f 1)(=',)(x f ''=21x- (5)若xx x f -=e )(,则='')0(f.答案:xx x x f --+-=''e e 2)(='')0(f 2-2.单项选择题 (1)若x x f xcos e)(-=,则)0(f '=( ).A. 2B. 1C. -1D. -2 因)(cos e cos )e ()cos e()('+'='='---x x x x f x x x)sin (cos e sin e cos e x x x x x x x +-=--=---所以)0(f '1)0sin 0(cos e 0-=+-=- 答案:C (2)设,则( ). A . B .C .D .答案:B(3)设)(x f y =是可微函数,则=)2(cos d x f ( ). A .x x f d )2(cos 2' B .x x x f d22sin )2(cos 'C .x x x f d 2sin )2(cos 2'D .x x x f d22sin )2(cos '- 答案:D(4)若3sin )(a x x f +=,其中a 是常数,则='')(x f ( ).A .23cos a x + B .a x 6sin + C .x sin - D .x cos 答案:C3.计算题(1)设xx y 12e =,求y '.解: )1(e e 22121xx x y xx -+=')12(e 1-=x x(2)设x x y 3cos 4sin +=,求y '.解:)sin (cos 34cos 42x x x y -+='x x x 2cos sin 34cos 4-=(3)设xy x 2e 1+=+,求y '. 解:2121(21exx y x -+='+ (4)设x x x y cos ln +=,求y '.解:)sin (cos 12321x x x y -+=' x x tan 2321-= 综合练习题3(导数应用部分)1.填空题 (1)函数的单调增加区间是 .答案:),1(+∞(2)函数1)(2+=ax x f 在区间),0(∞+内单调增加,则a 应满足 . 答案:0>a2.单项选择题(1)函数2)1(+=x y 在区间)2,2(-是( )A .单调增加B .单调减少C .先增后减D .先减后增 答案:D(2)满足方程0)(='x f 的点一定是函数)(x f y =的( ). A .极值点 B .最值点 C .驻点 D . 间断点 答案:C(3)下列结论中( )不正确. A .)(x f 在0x x =处连续,则一定在0x 处可微. B .)(x f 在0x x =处不连续,则一定在0x 处不可导. C .可导函数的极值点一定发生在其驻点上.D .函数的极值点一定发生在不可导点上. 答案: B(4)下列函数在指定区间上单调增加的是( ).A .x sinB .xe C .2x D .x -3答案:B3.应用题(以几何应用为主)(1)欲做一个底为正方形,容积为108m 3的长方体开口容器,怎样做法用料最省?解:设底边的边长为x m ,高为h m ,容器的表面积为y m 2。

c语言实验报告实验

c语言实验报告实验

c语言实验报告实验C 语言实验报告实验一、实验目的本次 C 语言实验的主要目的是通过实际操作和编程实践,加深对 C 语言基本语法、数据类型、控制结构、数组、指针等重要概念的理解和掌握,提高编程能力和解决实际问题的能力。

二、实验环境本次实验使用的编程环境为 Visual Studio 2019,操作系统为Windows 10。

三、实验内容1、基本数据类型和运算符的使用定义不同类型的变量,如整数型(int)、浮点型(float、double)、字符型(char)等,并进行赋值和运算操作。

熟悉各种运算符的优先级和结合性,包括算术运算符(+、、、/、%)、关系运算符(>、<、>=、<=、==、!=)、逻辑运算符(&&、||、!)、位运算符(&、|、^、~、<<、>>)等。

2、控制结构的应用使用ifelse 语句实现条件判断,根据不同的条件执行相应的代码块。

运用 switch 语句进行多分支选择,处理不同的情况。

利用 for 循环、while 循环和 dowhile 循环实现重复执行的操作,例如计算数列的和、打印特定的图案等。

3、数组和字符串的操作定义和使用一维数组、二维数组,进行数组元素的访问、赋值和遍历。

掌握字符串的存储和处理方式,使用字符数组和字符串函数(如strlen、strcpy、strcmp 等)进行字符串的操作。

4、指针的应用理解指针的概念和指针变量的定义,通过指针访问变量和数组元素。

实现指针与数组、指针与函数的结合使用,体会指针在程序中的灵活运用。

5、函数的定义和调用编写自定义函数,实现特定的功能,如计算阶乘、判断素数等。

掌握函数的参数传递方式(值传递和地址传递),理解函数的返回值。

6、结构体和共用体的使用定义结构体类型,创建结构体变量,访问结构体成员。

了解共用体的概念和使用场景,比较结构体和共用体的区别。

四、实验步骤1、实验准备打开 Visual Studio 2019 开发环境,创建一个新的 C 语言项目。

C语言实验册完整答案

C语言实验册完整答案

实验2答案五.程序改错#include<stdi o.h>int main(void){int x=3,y;y = x*x;printf("%d = %d * %d\n",y,x,x); /* 输出*/printf("%d * %d = %d\n",x,x,y);return 0;}六、一般编程题6.1#include<stdio.h>int main(void){int x,y;printf("Input x: ");scanf("%d",&x);printf("Input y: ");scanf("%d",&y);printf("%d + %d = %d\n",x,y,x+y);printf("%d - %d = %d\n",x,y,x-y);printf("%d * %d = %d\n",x,y,x*y);printf("%d / %d = %d\n",x,y,x/y);printf("%d %% %d = %d\n",x,y,x%y);return 0;}6.2#include<stdio.h>int main(void){ float x; double y;printf("Input x: ");scanf("%f",&x);printf("Input y: ");scanf("%lf",&y);printf("%f + %f = %f\n",x,y,x+y);printf("%f - %f = %f\n",x,y,x-y);printf("%f * %f = %f\n",x,y,x*y);printf("%f / %f = %f\n",x,y,x/y);return 0;}6.3#include<stdio.h>int main(void){ char c;printf("Input c: ");scanf("%c",&c);printf("%c\n",c+32);return 0;}6.4#include<stdio.h>int main(void){int celsius,fahr;fahr = 150;celsius = 5*fahr/9 - 5*32/9;printf("fahr = %d, celsius = %d\n", fahr, celsius);return 0;} 如果使用公式9)32(5-⨯=f c 计算结果不一样,celsius = 65。

常用测量程序设计

常用测量程序设计

《测绘程序设计()》上机实验报告(Visual C++.Net)班级:学号:姓名:序号:二零一零年四月实验7 常用测量程序设计一、实验目的∙巩固类的创建与使用∙掌握数组参数的传递∙掌握常用测绘程序设计的技巧二、实验内容编写高斯投影正、反算程序设计思路基于对话框的设计,添加两个头文件分别是Angle和Gauss ,在角度类中添加角度类的函数,角度类的函数我用了老师的例子,因为我以前写的那个角度类,定义的存贮角度类型的值是一个变量,引用起来不好用。

然后就是在Gauss的头文件和cpp中添加代码,我一共定义了四个函数,分别是高斯正算,求X的一个函数,高斯反算,求Bf的一个函数。

定义完类之后,就在界面上引用函数即可。

主要代码Gauss.h#pragma onceclass Gauss{/*double a;double b;*///double e=sqrt(a*a-b*b)/a;//double _e=sqrt(a*a-b*b)/b;public:/*Gauss(double a1,double b1);*/Gauss(void);~Gauss(void);public:void CGaussForward(double dB,double dL,double dCML,int type,double &x,double &y);double ComptX(double dB);void CGaussInverse(double x, double y, double dCML,int type, double &dB, double &dL);double ComptBf(double x);void ellipd(int type);};Gauss.cpp#include"StdAfx.h"#include"Gauss.h"#include"math.h"#include"Angle.h"const double PI=4.0*atan(1.0);double a=6378245.0;double b=6356863.0187730473;//初始化double e=sqrt(a*a-b*b)/a;double _e=sqrt(a*a-b*b)/b;/*Gauss::Gauss(double a1=6378245.0,double b1=6356863.0187730473){a=a1;b=b1;}*///Gauss::Gauss(double a1, double b1)//{ a1=6378245.0;// b1=6356863.0187730473;// a=a1;// b=b1;// /*double e=sqrt(a*a-b*b)/a;//double _e=sqrt(a*a-b*b)/b;*///}Gauss::Gauss(void){}Gauss::~Gauss(void){}void Gauss::ellipd(int type){if(type==1) //克拉索夫斯基椭球{a=6378245.0;b=6356863.0187730473;//e=sqrt(0.006693421622966);}else if(type==2) //1975国际协议椭球{a=6378140.0;b=6356755.2881575287;//e=sqrt(0.006694384999588);}else if(type==3) //WGS-84椭球{a=6378137.0;b=6356752.3142;//e=sqrt(0.0066943799013);}}void Gauss::CGaussForward(double dB,double dL,double dCML,int type,double &x,double &y) {CAngle B(dB);CAngle L(dL);CAngle CML(dCML);CAngle _L(L-CML); //计算经差dB=B(RAD);ellipd(type);//设置椭球参数//double fengdai(type);//投影带double l=_L(RAD);double N=a/sqrt(1-e*e*sin(dB)*sin(dB));double t=tan(dB);double Eta=_e*cos(dB);double X=ComptX(dB);//double Rou;//Rou=180*3600/PI;x=X+N/2*sin(dB)*cos(dB)*l*l+N/24*sin(dB)*pow(cos(dB),3)*(5-t*t+9*Eta*Eta+4*pow(Eta,4))*pow(l,4)+N/720*sin(dB)*pow(cos(dB),5)*(61-58*t*t+pow(t,4))*pow(l,6);//+N*sin(dB)*cos(dB)*l*l/2//+N*sin(dB)*pow(cos(dB),3)*(5-t*t+9*Eta*Eta+4*pow(Eta,4))*pow(l,4)/24;// //+N/(720*pow(Rou,6))*sin(RadB)*pow(cos(RadB),5)*(61-58*t*t+pow(t,4))*pow(l,6);//+N*sin(dB)*pow(cos(dB),5)*(61-58*t*t+pow(t,4))*pow(1,6)/720;y=N*cos(dB)*l+N/6*pow(cos(dB),3)*(1-t*t+Eta*Eta)*pow(l,3)+N/120*pow(cos(dB),5)*(5-18*t*t+pow(t,4)+14*Eta*Eta-58*Eta*Eta*t*t)*pow(l,5)+500000;//+N*cos(dB)*l//+N*pow(cos(dB),3)*(1-t*t+Eta*Eta)*pow(1,3)/6//+N*pow(cos(dB),5)*(5-18*t*t+pow(t,4)+14*Eta*Eta-58*pow(Eta*t,2))*pow(l,5)/120;//dX=Round(dX,4);//dY=Round(dY,4);}double Gauss::ComptX(double dB){double A0=1+3/4*e*e+45/64*pow(e,4)+350/512*pow(e,6)+11025/16384*pow(e,8);const double A2=-1/2*(3/4*e*e+60/64*pow(e,4)+525/512*pow(e,6)+17640/16384*pow(e,8));const double A4=1/4*(15/64*pow(e,4)+210/512*pow(e,6)+8820/16384*pow(e,8));const double A6=-1/6*(35/512*pow(e,6)+2520/16384*pow(e,8));// const double A6=-1/6*(35/512*pow(e,6)+2520/16384*pow(e,8));const double A8=1/8*(315/16384*pow(e,8));double X= a*(1-e*e)*(A0*dB+A2*sin(2*dB)+A4*sin(4*dB)+A6*sin(6*dB)+A8*sin(8*dB));return X;}void Gauss::CGaussInverse(double x, double y, double dCML,int type, double &dB, double &dL) {ellipd(type);//设置椭球参数double Bf=ComptBf(x);double tf=tan(Bf);double Etaf=_e*cos(Bf);double Nf=a/sqrt(1-e*e*sin(Bf)*sin(Bf));double Mf=Nf/(1+_e*_e*cos(Bf)*cos(Bf));y=y-500000;dB=Bf-tf/(2*Mf*Nf)*y*y+tf/(24*Mf*pow(Nf,3))*(5+3*tf*tf+Etaf*Etaf-9*Etaf*Etaf*tf*tf)*pow(y,4)-tf/(720*Mf*pow(Nf,5))*(61+90*tf*tf+45*pow(tf,4))*pow(y,6);double l=1/(Nf*cos(Bf))*y-1/(6*pow(Nf,3)*cos(Bf))*(1+2*tf*tf+Etaf*Etaf)*pow(y,3)+1/(120*pow(Nf,5)*cos(Bf))*(5+28*tf*tf+24*pow(tf,4)+6*Etaf*Etaf+8*Etaf*Etaf*tf*tf)*pow( y,5);CAngle B(dB,RAD);CAngle _L(l,RAD);CAngle CML(dCML);CAngle L(CML+_L);dB=B(DMS);dL=L(DMS);}double Gauss::ComptBf(double x){double A0;A0=1+3.0/4*e*e+45.0/64*pow(e,4)+350.0/512*pow(e,6)+11025.0/16384*pow(e,8);double B0=x/(a*(1-e*e)*A0);const doubleK0=1.0/2*(3.0/4*e*e+45.0/64*pow(e,4)+350.0/512*pow(e,6)+11025.0/16384*pow(e,8));const double K2=-1.0/3*(63.0/64*pow(e,4)+1108.0/512*pow(e,6)+58239.0/16384*pow(e,8));const double K4=1.0/3*(604.0/512*pow(e,6)+68484.0/16384*pow(e,8));const double K6=-1.0/3*(26328.0/16384*pow(e,8));doubleBf=B0+sin(2*B0)*(K0+sin(B0)*sin(B0)*(K2+sin(B0)*sin(B0)*(K4+K6*sin(B0)*sin(B0))));return Bf;}Shiyan_7Dlg.cpp#include"stdafx.h"#include"shiyan_7.h"#include"shiyan_7Dlg.h"#include"Gauss.h"#include"Angle.h"void Cshiyan_7Dlg::OnBnClickedOk(){// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);Gauss D;D.CGaussForward(B, L, CML,type, X,Y);UpdateData(FALSE);//OnOK();}void Cshiyan_7Dlg::OnBnClickedOk2(){// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);Gauss DB;DB.CGaussInverse(X,Y,CML,type,B,L);UpdateData(FALSE);}Angle.h#pragma onceenum AngleStyle{DEG,DMS,RAD};class CAngle{public:CAngle(double value=0,AngleStyle style=DMS);~CAngle(void);private:double dValue;//角度值AngleStyle nCurStyle;//当前角度值类型private://设置常成员函数的作用:.类成员不会被改变//2.可以被常类变量调用double Deg(double dDms) const;double Dms(double dDeg) const;public://获取指定的类型获取角度值,//由于返回的是dValue的引用,所以该值大小可以改变,即可以进行赋值double& operator() (AngleStyle style);//重载,获取指定的类型获取角度值,该值不可改变,const CAngle类型变量调用double operator() (AngleStyle style) const;//重载运算符+/-friend CAngle operator + (const CAngle& m1,const CAngle& m2);friend CAngle operator - (const CAngle& m1,const CAngle& m2);};Angle.cpp参考老师的角度类运行结果正算反算总结这次试验做了很久,虽然有比较清楚的思路,但是在代码执行过程中出现了很多问题,刚开始的时候,出现了“无法解析的外部函数”,改了很久也没改出来,后来问同学,原来是在构造函数的地方出现了问题,修改后,这个错误没有了。

大学生C语言程序设计(第四版 谭洪强)实验7 答案

大学生C语言程序设计(第四版 谭洪强)实验7 答案

实验七 参考答案(参考答案)(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)课后实验答案-精简版.do

MATLAB)课后实验答案-精简版.do

实验一1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。

(1) 0122sin851z e =+(2) 21ln(2z x =,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦(3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e az a a --+=++=--(4)2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:0.5:2.52. 已知:34787,2033657327A B ⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵) (2) A*B 和A.*B (3) A^3和A.^3 (4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2] 3.设有矩阵A 和 B123453166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦(1) 求它们的乘积C 。

(2) 将矩阵C 的右下角3×2子矩阵赋给D 。

(3) 查看MATLAB 工作空间的使用情况。

(1) 求[100,999]之间能被21整除的数的个数。

(2) 建立一个字符串向量,删除其中的大写字母。

ch='ABC123d4e56Fg9';则要求结果是:实验二1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。

解: M 文件如下;E=eye(3); R=rand(3,2); O=zeros(2,3);S=diag([1 2]);A=[E R a=[E,R+R*SO S] O ,S^2] A^2=a 2. 产生5阶希尔伯特矩阵H 和5阶帕斯卡矩阵P ,且求其行列式的值Hh 和Hp 以及它们的条件数Th 和Tp ,判断哪个矩阵性能更好。

7-4课后练习参考答案

7-4课后练习参考答案

实验7-4指针与字符数组【实验目的】1.掌握字符指针和字符型变量之间的关系2.掌握字符指针与字符串的关系3.掌握字符指针与字符数组之间的关系【课后练习】一、选择题1.下面不正确的字符串赋值或初始化语句是。

A.char * str; str = ”string”;B.char str[7]={…s‟, …t‟, …r‟, …i‟, …n‟, …g‟};C.char str[10]; str=”string”;D.char str1[]=”string”, str2[20]; strcpy(str2, str1);2.已知char b[5], *p=b; 则正确的赋值语句是。

A.b=”abcd”; B.*b=”abcd”; C.p=”abcd”; D.*p=”abcd”;3.若已有声明char s[20]=”programming”, *ps=s; 则不能引用字母‟o‟的表达式的是。

A.ps+2 B. s[2] C. ps[2] D. ps+=2; *ps4.已知:char c[8]=”beijing”, *s=c; int i; 则下面的输出语句中错误的是。

A.printf(“%s\n”, s); B. printf(“%s\n”, *s);C. for(i=0; i<7; i++)D. for(i=0; i<7; i++)printf(“%c”, c[i]); printf(“%c”, s[i]);5.已知char s[10], *p=s; 则在下列语句中,错误的语句是。

A.p=s+5; B. s=p+s; C. s[2]=p[4]; D. *p=s[0]; 6.下面判断正确的是。

A.char * a=”china”; 等价于char *a; *a=”china”;B.char str[10]={“china”};等价于char str[10]; str[]={“china”};C.char *s =”china”; 等价于char *s; s=”china”;D.char c[4]=”abc”, d[4]=”abc”; 等价于char c[4]=d[4]=”abc”;7.下面能够正确进行字符串赋值操作的是:。

C语言实验参考答案

C语言实验参考答案

C语言实验参考答案实验一5、输入并运行自已编写的程序(教材第一章P14 三编程题)。

实验二1、编写一个程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。

#include <stdio.h>main(){float x,y,z,s,t,a;printf(“x,y,z=”);scanf(“%f,%f,%f”,&x,&y,&z);s=x+y+z;t=x*y*z;a=s/3;printf(“s=%f,t=%f,a=%f\n”,s,t,a);}2、编程。

要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后:1)用整数输出这两个数的和、差;2)用长整型输出这两个数的积,用float输出商;3)用整数输出这两个数的余数,用float输出平均值。

#include <stdio.h>main(){int a,b,he,cha,yu;long ji;float shang,aver;printf(“a,b=”);scanf(“%d,%d”,&a,&b);he=a+b;cha=a-b;ji=(long)a*b;shang=1.0*a/b;yu=a%b;aver=(a+b)/2.0;printf(“a+b=%d,a-b=%d,a*b=%ld\n”,he,cha,ji);printf(“a/b=%f,a%%b=%d,aver=%f\n”,shang,yu,aver);}实验三1、编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。

例如,输入整数5,程序运行后输出字符5。

#include <stdio.h>main(){int a;char c;printf(“a=”);scanf(“%d”,&a);c=a+48;putchar(c);}2、编程。

函数极限与连续习题加答案(供参考)

函数极限与连续习题加答案(供参考)

第一章 函数、极限与连续第一讲:函数一、是非题1.2x y =与x y =相同;( ) 2.)1ln()22(2x x y x x +++=-是奇函数; ( ) 3.凡是分段表示的函数都不是初等函数; ( ) 4. )0(2>=x x y 是偶函数; ( ) 5.两个单调增函数之和仍为单调增函数; ( )6.实数域上的周期函数的周期有无穷多个; ( )7.复合函数)]([x g f 的定义域即)(x g 的定义域; ( )8.)(x f y =在),(b a 内处处有定义,则)(x f 在),(b a 内一定有界。

( ) 二、填空题1.函数)(x f y =与其反函数)(x y ϕ=的图形关于 对称;2.若)(x f 的定义域是]1,0[,则)1(2+x f 的定义域是 ;3.122+=x xy 的反函数是 ;4.1)(+=x x f ,211)(xx +=ϕ,则]1)([+x f ϕ= , ]1)([+x f ϕ= ;5.)2(sin log 2+=x y 是由简单函数 和 复合而成;6.1)(2+=x x f ,x x 2sin )(=ϕ,则)0(f = ,___________)1(=af ,___________)]([=x f ϕ。

三、选择题1.下列函数中既是奇函数又是单调增加的函数是( )A 、x 3sinB 、13+xC 、x x +3D 、x x -32.设54)(2++=bx x x f ,若38)()1(+=-+x x f x f ,则b 应为( )A 、1B 、-1C 、2D 、-2 3.)sin()(2x x x f -=是( )A 、有界函数B 、周期函数C 、奇函数D 、偶函数 四、计算下列各题1.求定义域523arcsin3xx y -+-=2.求下列函数的定义域 (1)342+-=x x y (2)1142++-=x x y(3)1)2lg(++=x y (4)x y sin lg =3.设2)(x x f =,xe x g =)(,求)]([)],([)],([)],([x g g xf f x fg x g f ;4.判断下列函数的奇偶性(1)3)(-=x x f (2)xx f )54()(=(3) xxx f -+=11lg)( (4)x x x f sin )(=5.写出下列函数的复合过程(1))58(sin 3+=x y (2))5tan(32+=x y (3)212x y -= (4))3lg(x y -=6.设⎩⎨⎧≥<=.1,0,1,)(x x x x ϕ求)51(ϕ,)21(-ϕ,)2(-ϕ,并作出函数)(x y ϕ=的图形。

matlab数学实验习题全部答案(胡良剑)

matlab数学实验习题全部答案(胡良剑)

数学实验答案%Page20,ex1(5) 等于[exp(1),exp(2);exp(3),exp(4)](7) 3=1*3, 8=2*4(8) a为各列最小值,b为最小值所在的行号(10) 1>=4,false, 2>=3,false, 3>=2, ture, 4>=1,ture(11) 答案表明:编址第2元素满足不等式(30>=20)和编址第4元素满足不等式(40>=10)(12) 答案表明:编址第2行第1列元素满足不等式(30>=20)和编址第2行第2列元素满足不等式(40>=10)%Page20, ex2(1)a, b, c的值尽管都是1,但数据类型分别为数值,字符,逻辑,注意a与c相等,但他们不等于b(2)double(fun)输出的分别是字符a,b,s,(,x,)的ASCII码%Page20,ex3>> r=2;p=0.5;n=12;>> T=log(r)/n/log(1+0.01*p)T =11.5813%Page20,ex4>> x=-2:0.05:2;f=x.^4-2.^x;>> [fmin,min_index]=min(f)fmin =-1.3907 %最小值min_index =54 %最小值点编址>> x(min_index)ans =0.6500 %最小值点>> [f1,x1_index]=min(abs(f)) %求近似根--绝对值最小的点f1 =0.0328x1_index =24>> x(x1_index)ans =-0.8500>> x(x1_index)=[];f=x.^4-2.^x; %删去绝对值最小的点以求函数绝对值次小的点>> [f2,x2_index]=min(abs(f)) %求另一近似根--函数绝对值次小的点f2 =0.0630x2_index =65>> x(x2_index)ans =1.2500%Page20,ex5>> z=magic(10)z =92 99 1 8 15 67 74 51 58 4098 80 7 14 16 73 55 57 64 414 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 3417 24 76 83 90 42 49 26 33 6523 5 82 89 91 48 30 32 39 6679 6 13 95 97 29 31 38 45 7210 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59>> sum(z)ans =505 505 505 505 505 505 505 505 505 505 >> sum(diag(z))ans =505>> z(:,2)/sqrt(3)ans =57.157746.188046.765450.229553.693613.85642.88683.46416.928210.3923>> z(8,:)=z(8,:)+z(3,:)z =92 99 1 8 15 67 74 51 58 4098 80 7 14 16 73 55 57 64 414 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 3417 24 76 83 90 42 49 26 33 6523 5 82 89 91 48 30 32 39 6683 87 101 115 119 83 87 101 115 11910 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59%Page 40 ex1先在编辑器窗口写下列M函数,保存为eg2_1.m function [xbar,s]=ex2_1(x)n=length(x);xbar=sum(x)/n;s=sqrt((sum(x.^2)-n*xbar^2)/(n-1));例如>>x=[81 70 65 51 76 66 90 87 61 77];>>[xbar,s]=ex2_1(x)xbar =72.4000s =12.1124%Page 40 ex2s=log(1);n=0;while s<=100n=n+1;s=s+log(1+n);endm=n计算结果m=37%Page 40 ex3clear;F(1)=1;F(2)=1;k=2;x=0;e=1e-8; a=(1+sqrt(5))/2;while abs(x-a)>ek=k+1;F(k)=F(k-1)+F(k-2); x=F(k)/F(k-1);enda,x,k计算至k=21可满足精度%Page 40 ex4clear;tic;s=0;for i=1:1000000s=s+sqrt(3)/2^i;ends,toctic;s=0;i=1;while i<=1000000s=s+sqrt(3)/2^i;i=i+1;ends,toctic;s=0;i=1:1000000;s=sqrt(3)*sum(1./2.^i);s,toc%Page 40 ex5t=0:24;c=[15 14 14 14 14 15 16 18 20 22 23 25 28 ...31 32 31 29 27 25 24 22 20 18 17 16];plot(t,c)%Page 40 ex6%(1)x=-2:0.1:2;y=x.^2.*sin(x.^2-x-2);plot(x,y)y=inline('x^2*sin(x^2-x-2)');fplot(y,[-2 2])%(2)参数方法t=linspace(0,2*pi,100);x=2*cos(t);y=3*sin(t); plot(x,y)%(3)x=-3:0.1:3;y=x;[x,y]=meshgrid(x,y);z=x.^2+y.^2;surf(x,y,z)%(4)x=-3:0.1:3;y=-3:0.1:13;[x,y]=meshgrid(x,y);z=x.^4+3*x.^2+y.^2-2*x-2*y-2*x.^2.*y+6;surf(x,y,z)%(5)t=0:0.01:2*pi;x=sin(t);y=cos(t);z=cos(2*t);plot3(x,y,z)%(6)theta=linspace(0,2*pi,50);fai=linspace(0,pi/2,20); [theta,fai]=meshgrid(theta,fai);x=2*sin(fai).*cos(theta);y=2*sin(fai).*sin(theta);z=2*cos(fai);surf(x,y,z)%(7)x=linspace(0,pi,100);y1=sin(x);y2=sin(x).*sin(10*x);y3=-sin(x);plot(x,y1,x,y2,x,y3)%page41, ex7x=-1.5:0.05:1.5;y=1.1*(x>1.1)+x.*(x<=1.1).*(x>=-1.1)-1.1*(x<-1.1);plot(x,y)%page41,ex8分别使用which trapz, type trapz, dir C:\MA TLAB7\toolbox\matlab\datafun\ %page41,ex9clear;close;x=-2:0.1:2;y=x;[x,y]=meshgrid(x,y);a=0.5457;b=0.7575;p=a*exp(-0.75*y.^2-3.75*x.^2-1.5*x).*(x+y>1);p=p+b*exp(-y.^2-6*x.^2).*(x+y>-1).*(x+y<=1);p=p+a*exp(-0.75*y.^2-3.75*x.^2+1.5*x).*(x+y<=-1);mesh(x,y,p)%page41, ex10lookfor lyapunovhelp lyap>> A=[1 2 3;4 5 6;7 8 0];C=[2 -5 -22;-5 -24 -56;-22 -56 -16];>> X=lyap(A,C)X =1.0000 -1.0000 -0.0000-1.0000 2.0000 1.0000-0.0000 1.0000 7.0000%Chapter 3%Exercise 1>> a=[1,2,3];b=[2,4,3];a./b,a.\b,a/b,a\bans =0.5000 0.5000 1.0000ans =2 2 1ans =0.6552 %一元方程组x[2,4,3]=[1,2,3]的近似解ans =0 0 00 0 00.6667 1.3333 1.0000%矩阵方程[1,2,3][x11,x12,x13;x21,x22,x23;x31,x32,x33]=[2,4,3]的特解%Exercise 2(1)>> A=[4 1 -1;3 2 -6;1 -5 3];b=[9;-2;1];>> rank(A), rank([A,b]) %[A,b]为增广矩阵ans =3ans =3 %可见方程组唯一解>> x=A\bx =2.38301.48942.0213%Exercise 2(2)>> A=[4 -3 3;3 2 -6;1 -5 3];b=[-1;-2;1];>> rank(A), rank([A,b])ans =3ans =3 %可见方程组唯一解>> x=A\bx =-0.4706-0.2941%Exercise 2(3)>> A=[4 1;3 2;1 -5];b=[1;1;1];>> rank(A), rank([A,b])ans =2ans =3 %可见方程组无解>> x=A\bx =0.3311-0.1219 %最小二乘近似解%Exercise 2(4)>> a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1 2 3]';%注意b的写法>> rank(a),rank([a,b])ans =3ans =3 %rank(a)==rank([a,b])<4说明有无穷多解>> a\bans =110 %一个特解%Exercise 3>> a=[2,1,-1,1;1,2,1,-1;1,1,2,1];b=[1,2,3]';>> x=null(a),x0=a\bx =-0.62550.6255-0.20850.4170x0 =11%通解kx+x0%Exercise 4>> x0=[0.2 0.8]';a=[0.99 0.05;0.01 0.95];>> x1=a*x, x2=a^2*x, x10=a^10*x>> x=x0;for i=1:1000,x=a*x;end,xx =0.83330.1667>> x0=[0.8 0.2]';>> x=x0;for i=1:1000,x=a*x;end,xx =0.83330.1667>> [v,e]=eig(a)v =0.9806 -0.70710.1961 0.7071e =1.0000 00 0.9400>> v(:,1)./xans =1.17671.1767 %成比例,说明x是最大特征值对应的特征向量%Exercise 5%用到公式(3.11)(3.12)>> B=[6,2,1;2.25,1,0.2;3,0.2,1.8];x=[25 5 20]';>> C=B/diag(x)C =0.2400 0.4000 0.05000.0900 0.2000 0.01000.1200 0.0400 0.0900>> A=eye(3,3)-CA =0.7600 -0.4000 -0.0500-0.0900 0.8000 -0.0100-0.1200 -0.0400 0.9100>> D=[17 17 17]';x=A\Dx =37.569625.786224.7690%Exercise 6(1)>> a=[4 1 -1;3 2 -6;1 -5 3];det(a),inv(a),[v,d]=eig(a) ans =-94ans =0.2553 -0.0213 0.04260.1596 -0.1383 -0.22340.1809 -0.2234 -0.0532v =0.0185 -0.9009 -0.3066-0.7693 -0.1240 -0.7248-0.6386 -0.4158 0.6170d =-3.0527 0 00 3.6760 00 0 8.3766%Exercise 6(2)>> a=[1 1 -1;0 2 -1;-1 2 0];det(a),inv(a),[v,d]=eig(a) ans =1ans =2.0000 -2.0000 1.00001.0000 -1.0000 1.00002.0000 -3.0000 2.0000v =-0.5773 0.5774 + 0.0000i 0.5774 - 0.0000i-0.5773 0.5774 0.5774-0.5774 0.5773 - 0.0000i 0.5773 + 0.0000id =1.0000 0 00 1.0000 + 0.0000i 00 0 1.0000 - 0.0000i%Exercise 6(3)>> A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10]A =5 76 57 10 8 76 8 10 95 7 9 10>> det(A),inv(A), [v,d]=eig(A)ans =1ans =68.0000 -41.0000 -17.0000 10.0000-41.0000 25.0000 10.0000 -6.0000-17.0000 10.0000 5.0000 -3.000010.0000 -6.0000 -3.0000 2.0000v =0.8304 0.0933 0.3963 0.3803-0.5016 -0.3017 0.6149 0.5286-0.2086 0.7603 -0.2716 0.55200.1237 -0.5676 -0.6254 0.5209d =0.0102 0 0 00 0.8431 0 00 0 3.8581 00 0 0 30.2887%Exercise 6(4)(以n=5为例)%关键是矩阵的定义%方法一(三个for)n=5;for i=1:n, a(i,i)=5;endfor i=1:(n-1),a(i,i+1)=6;endfor i=1:(n-1),a(i+1,i)=1;enda%方法二(一个for)n=5;a=zeros(n,n);a(1,1:2)=[5 6];for i=2:(n-1),a(i,[i-1,i,i+1])=[1 5 6];enda(n,[n-1 n])=[1 5];a%方法三(不用for)n=5;a=diag(5*ones(n,1));b=diag(6*ones(n-1,1));c=diag(ones(n-1,1));a=a+[zeros(n-1,1),b;zeros(1,n)]+[zeros(1,n);c,zeros(n-1,1)] %下列计算>> det(a)ans =665>> inv(a)ans =0.3173 -0.5865 1.0286 -1.6241 1.9489-0.0977 0.4887 -0.8571 1.3534 -1.62410.0286 -0.1429 0.5429 -0.8571 1.0286-0.0075 0.0376 -0.1429 0.4887 -0.58650.0015 -0.0075 0.0286 -0.0977 0.3173>> [v,d]=eig(a)v =-0.7843 -0.7843 -0.9237 0.9860 -0.92370.5546 -0.5546 -0.3771 -0.0000 0.3771-0.2614 -0.2614 0.0000 -0.1643 0.00000.0924 -0.0924 0.0628 -0.0000 -0.0628-0.0218 -0.0218 0.0257 0.0274 0.0257d =0.7574 0 0 0 00 9.2426 0 0 00 0 7.4495 0 00 0 0 5.0000 00 0 0 0 2.5505%Exercise 7(1)>> a=[4 1 -1;3 2 -6;1 -5 3];[v,d]=eig(a)v =0.0185 -0.9009 -0.3066-0.7693 -0.1240 -0.7248-0.6386 -0.4158 0.6170d =-3.0527 0 00 3.6760 00 0 8.3766>> det(v)ans =-0.9255 %v行列式正常, 特征向量线性相关,可对角化>> inv(v)*a*v %验算ans =-3.0527 0.0000 -0.00000.0000 3.6760 -0.0000-0.0000 -0.0000 8.3766>> [v2,d2]=jordan(a) %也可用jordanv2 =0.0798 0.0076 0.91270.1886 -0.3141 0.1256-0.1605 -0.2607 0.4213 %特征向量不同d2 =8.3766 0 00 -3.0527 - 0.0000i 00 0 3.6760 + 0.0000i>> v2\a*v2ans =8.3766 0 0.00000.0000 -3.0527 0.00000.0000 0.0000 3.6760>> v(:,1)./v2(:,2) %对应相同特征值的特征向量成比例ans =2.44912.44912.4491%Exercise 7(2)>> a=[1 1 -1;0 2 -1;-1 2 0];[v,d]=eig(a)v =-0.5773 0.5774 + 0.0000i 0.5774 - 0.0000i-0.5773 0.5774 0.5774-0.5774 0.5773 - 0.0000i 0.5773 + 0.0000id =1.0000 0 00 1.0000 + 0.0000i 00 0 1.0000 - 0.0000i>> det(v)ans =-5.0566e-028 -5.1918e-017i %v的行列式接近0, 特征向量线性相关,不可对角化>> [v,d]=jordan(a)v =1 0 11 0 01 -1 0d =1 1 00 1 10 0 1 %jordan标准形不是对角的,所以不可对角化%Exercise 7(3)>> A=[5 7 6 5;7 10 8 7;6 8 10 9;5 7 9 10]A =5 76 57 10 8 76 8 10 95 7 9 10>> [v,d]=eig(A)v =0.8304 0.0933 0.3963 0.3803-0.5016 -0.3017 0.6149 0.5286-0.2086 0.7603 -0.2716 0.55200.1237 -0.5676 -0.6254 0.5209d =0.0102 0 0 00 0.8431 0 00 0 3.8581 00 0 0 30.2887>> inv(v)*A*vans =0.0102 0.0000 -0.0000 0.00000.0000 0.8431 -0.0000 -0.0000-0.0000 0.0000 3.8581 -0.0000-0.0000 -0.0000 0 30.2887%本题用jordan不行, 原因未知%Exercise 7(4)参考6(4)和7(1), 略%Exercise 8 只有(3)对称, 且特征值全部大于零, 所以是正定矩阵. %Exercise 9(1)>> a=[4 -3 1 3;2 -1 3 5;1 -1 -1 -1;3 -2 3 4;7 -6 -7 0]>> rank(a)ans =3>> rank(a(1:3,:))ans =2>> rank(a([1 2 4],:)) %1,2,4行为最大无关组ans =3>> b=a([1 2 4],:)';c=a([3 5],:)';>> b\c %线性表示的系数ans =0.5000 5.0000-0.5000 1.00000 -5.0000%Exercise 10>> a=[1 -2 2;-2 -2 4;2 4 -2]>> [v,d]=eig(a)v =0.3333 0.9339 -0.12930.6667 -0.3304 -0.6681-0.6667 0.1365 -0.7327d =-7.0000 0 00 2.0000 00 0 2.0000>> v'*vans =1.0000 0.0000 0.00000.0000 1.0000 00.0000 0 1.0000 %v确实是正交矩阵%Exercise 11%设经过6个电阻的电流分别为i1, ..., i6. 列方程组如下%20-2i1=a; 5-3i2=c; a-3i3=c; a-4i4=b; c-5i5=b; b-3i6=0;%i1=i3+i4;i5=i2+i3;i6=i4+i5;%计算如下>> A=[1 0 0 2 0 0 0 0 0;0 0 1 0 3 0 0 0 0;1 0 -1 0 0 -3 0 0 0; 1 -1 0 0 0 0 -4 0 0;0 -1 1 0 0 0 0 -5 0;0 1 0 0 0 0 0 0 -3; 0 0 0 1 0 -1 -1 0 0;0 0 0 0 -1 -1 0 1 0;0 0 0 0 0 0 -1 -1 1];>>b=[20 5 0 0 0 0 0 0 0]'; A\bans =13.34536.44018.54203.3274-1.18071.60111.72630.42042.1467%Exercise 12>> A=[1 2 3;4 5 6;7 8 0];>> left=sum(eig(A)), right=sum(trace(A))left =6.0000right =6>> left=prod(eig(A)), right=det(A) %原题有错, (-1)^n应删去left =27.0000right =27>> fA=(A-p(1)*eye(3,3))*(A-p(2)*eye(3,3))*(A-p(3)*eye(3,3)) fA =1.0e-012 *0.0853 0.1421 0.02840.1421 0.1421 0-0.0568 -0.1137 0.1705>> norm(fA) %f(A)范数接近0ans =2.9536e-013%Exercise 1(1)roots([1 1 1])%Exercise 1(2)roots([3 0 -4 0 2 -1])%Exercise 1(3)p=zeros(1,24);p([1 17 18 22])=[5 -6 8 -5];roots(p)%Exercise 1(4)p1=[2 3];p2=conv(p1, p1);p3=conv(p1, p2);p3(end)=p3(end)-4; %原p3最后一个分量-4roots(p3)%Exercise 2fun=inline('x*log(sqrt(x^2-1)+x)-sqrt(x^2-1)-0.5*x');fzero(fun,2)%Exercise 3fun=inline('x^4-2^x');fplot(fun,[-2 2]);grid on;fzero(fun,-1),fzero(fun,1),fminbnd(fun,0.5,1.5)%Exercise 4fun=inline('x*sin(1/x)','x');fplot(fun, [-0.1 0.1]);x=zeros(1,10);for i=1:10, x(i)=fzero(fun,(i-0.5)*0.01);end;x=[x,-x]%Exercise 5fun=inline('[9*x(1)^2+36*x(2)^2+4*x(3)^2-36;x(1)^2-2*x(2)^2-20*x(3);16*x(1)-x(1)^3-2*x(2)^ 2-16*x(3)^2]','x');[a,b,c]=fsolve(fun,[0 0 0])%Exercise 6fun=@(x)[x(1)-0.7*sin(x(1))-0.2*cos(x(2)),x(2)-0.7*cos(x(1))+0.2*sin(x(2))];[a,b,c]=fsolve(fun,[0.5 0.5])%Exercise 7clear; close; t=0:pi/100:2*pi;x1=2+sqrt(5)*cos(t); y1=3-2*x1+sqrt(5)*sin(t);x2=3+sqrt(2)*cos(t); y2=6*sin(t);plot(x1,y1,x2,y2); grid on; %作图发现4个解的大致位置,然后分别求解y1=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.5,2])y2=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[1.8,-2])y3=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[3.5,-5])y4=fsolve('[(x(1)-2)^2+(x(2)-3+2*x(1))^2-5,2*(x(1)-3)^2+(x(2)/3)^2-4]',[4,-4])%Exercise 8(1)clear;fun=inline('x.^2.*sin(x.^2-x-2)');fplot(fun,[-2 2]);grid on; %作图观察x(1)=-2;x(3)=fminbnd(fun,-1,-0.5);x(5)=fminbnd(fun,1,2);fun2=inline('-x.^2.*sin(x.^2-x-2)');x(2)=fminbnd(fun2,-2,-1);x(4)=fminbnd(fun2,-0.5,0.5);x(6)=2feval(fun,x)%答案: 以上x(1)(3)(5)是局部极小,x(2)(4)(6)是局部极大,从最后一句知道x(1)全局最小,x(2)最大。

C语言课程 课后练习 参考答案

C语言课程 课后练习 参考答案

实验6-1课后练习:1.选择题(1)B (2)C(3)A(4)D(5)C (6)C (7)D 2.阅读程序,写出运行结果3020103.阅读程序,写出运行结果20104. 阅读程序,写出运行结果1 2 35.阅读程序,写出运行结果7 8 96.阅读程序,写出运行结果97.阅读程序,写出运行结果#include <stdio.h>int digit(int n,int k);int main(){ int n,k;printf("Enter n,k: ");scanf("%d %d",&n,&k);printf("\nThe result is:%d\n",digit(n,k));return 0;}int digit(int n,int k){ int d;while(k>0){ d=n%10;n=n/10;k--;}return d;}8.程序填空#include <stdio.h>double max(double a,double b);int main(){ double x,y;prinf("please input two double numbers:"); scanf("%lf %lf"),&x,&y;printf("%.2f\n",max(x,y));return 0;}double max(double a,double b){return (a>b?a:b);}9.原版#include <stdio.h>int check(int n,int d);int main(){ int n,d;printf("Enter n,d: ");scanf("%d %d",&n,&d);if(check(n,d)==1)printf("The digit %d is in data %d",d,n); elseprintf("The digit %d is not in data %d",d,n); return 0;}int check(int n,int d){ int temp;while(n>0){ temp=n%10;if(temp==d)return 1;n=n/10;}return 0;}改进版#include <stdio.h>int check(int n,int d);int main(){ int n,d,position;printf("Enter n,d: ");scanf("%d %d",&n,&d);position=check(n,d);if(check(n,d)>0)printf("The digit %d is in data %d,position is %d",d,n,position);elseprintf("The digit %d is not in data %d",d,n);return 0;}int check(int n,int d){ int temp,position=1;while(n>0){ temp=n%10;if(temp==d)return position;position++;n=n/10;}return 0;}实验6-2课后练习1.选择题(1)B (2)C(3)B(4)B(5)C (6)B (7)D (8)D (9)C(10)B(11)A2.填空(1) 函数中声明有局部变量,若声明中带有static,则该局部变量采用静态存储方式,在编译时分配空间,若函数中未显式设定初始值,则系统将其自动初始化,函数被调用结束时,该空间不释放。

C语言调用汇编程序实验

C语言调用汇编程序实验

7 C语言调用汇编程序实验7.1 实验目的掌握在C 语言程序中调用汇编程序,了解ATPCS基本规则。

7.2 实验设备硬件:PC 机一台软件:Windows98/XP/2000 系统,ADS 1.2 集成开发环境7.3 实验内容在C 程序调用汇编子程序,实现两个整数的加法运算。

汇编子程序的原型为:uint32 Add(uint32 x, uint32 y)其中uint32 已定义为unsigned int。

7.4 实验预习要求仔细阅读ARM 公司的ATPCS的相关文档,比如ATPCS.PDF;仔细阅ADS 工程编辑和AXD调试的内容。

(本实验使用软件仿真)7.5 实验步骤1. 启动ADS 1.2,使用ARM Executable Image 工程模板建立一个工程ProgramC1。

2. 建立源文件Startup.S、Add.S和Test .c,编写实验程序,然后添加到工程中。

3. 设置工程连接地址RO Base 为0x40000000,RW Base 为0x40003000。

设置调试入口地址Image entry point 为0x40000000。

4. 设置工程连接选项,位于开始位置的起始代码段设置为Startup.o 的Start 段。

5. 编译连接工程,选择【Project】->【Debug】,启动AXD进行软件仿真调试。

6. 在Test .c 文件中的调用Add()的代码处设置断点,然后全速动行程序。

7. 程序在断点处停止。

使用Setp In 单步运行程序,观察程序是否转到汇编程序Add.S。

8. 选择【Processor Views】->【Va r i abl e s】)打开变量观察窗口,观察全局变量的值,单步/全速运行程序,判断程序的运算结果是否正确。

7.6 实验参考程序程序清单C语言调用汇编程序实验参考程序程序清单汇编加法函数代码7.7 思考在实验参考程序中,如何以指针形式传递参数?(即设计uint32 Add(uint32 *x, uint32 *y)函数)。

《程序设计基础(C语言)》实验指导书

《程序设计基础(C语言)》实验指导书

《程序设计基础(C语言)》目录第1 章概述 (1)1.1 课程简介 (1)1.2 实验环境选择 (1)第 2 章实验要求 (1)2.1 实验过程要求 (1)2.2 考核及评分标准 (1)第 3 章实验内容 (2)3.1 实验1 熟悉C语言运行环境 (2)3.2 实验2 数据类型 (3)3.3 实验3 运算符和表达式 (4)3.4 实验4 顺序结构及输入和输出 (6)3.5 实验5 选择结构 (7)3.6 实验6 循环结构 (9)3.7 实验7 数组(1) (11)3.8 实验8 数组(2) (12)3.9 实验9 字符串及其操作 (13)3.10 实验10 函数 (14)3.11 实验11 结构体 (15)3.12 实验12 指针 (16)第 1 章概述1.1 课程简介《程序设计基础(C语言)》是软件工程各专业或其它相近专业学生的公共职业基础课,是软件类各专业的入门课程,直接影响学生后继职业技术课程的学习及可持续发展能力的培养。

通过本书,学习基本的程序设计概念和程序设计方法,学会使用C语言解决实际问题,进行初级的程序设计。

1.2 实验环境选择VC++6.0第 2 章实验要求2.1 实验过程要求本课程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。

在指定的实验时间内,必须到机房内实验,其余时间可自行设计和分析。

本课程所涉及的程序代码,都要求有较高的可读性和效率,多文件表示。

2.2 考核及评分标准若实验者在指定上机时间三次不到课,取消考核资格。

请假,必须提前出具正式假条,不接受事后假条。

如果发现抄袭、篡改、伪造实验数据,或实验报告和设计报告雷同,涉及的所有学生的该课程成绩计为0 分。

本课程采用结构化评分,主要由指导教师灵活处理,可以是考勤等。

第 3 章实验内容3.1 实验1 熟悉C语言运行环境一、实验目的1.了解什么是C语言2.熟悉C语言程序开发环境二、实验内容和步骤1.大学生涯的第一个程序1)运行Microsoft Visual Studio 2008或者VC6.02)创建项目,选择win32控制台应用程序或者空项目,项目名为MyFirstApp3)新建项目,选择C++源文件,文件名为HelloWorld4)在程序编辑窗口,输入如下代码#include <stdio.h>/* 主程序*/void main(){printf("hello world\n");}5)执行程序,Ctrl+F56)观察输出结果,并记录2.修改程序1)增加语句,观察输出结果是否不同printf("hello world\n");printf("world is me\n");2)删除输出字符串中的“\n”,观察输出结果是否不同printf("hello world\n");3)进行换行输出,观察输出结果是否不同printf("hello, ");printf("world");printf("\n");4)将上个程序块中的printf("\n");去掉,观察输出结果是否不同3.用自己的语言,描述下对C语言程序的第一印象4.简单描述下,第二步骤中,输出结果相同与不同的原因;以及“\n”的用途3.2 实验2 数据类型一、实验目的1.掌握变量的命名规则和定义2.掌握C语言程序中的各种数据类型并使用它们二、实验内容和步骤1.定义3个变量numInt、numFloat、charInfo,他们的类型分别为整型,单精度类型,字符型;并分别初始化为2,2.0和‘A’,最后输出这三个变量的值。

2022-2023学年苏科版九年级数学下册《第7章锐角三角函数》单元达标测试题(附答案)

2022-2023学年苏科版九年级数学下册《第7章锐角三角函数》单元达标测试题(附答案)

2022-2023学年苏科版九年级数学下册《第7章锐角三角函数》单元达标测试题(附答案)一.选择题(共8小题,满分32分)1.在Rt△ABC中,如果各边的长度同时扩大2倍,那么锐角A的正弦值和余弦值()A.都扩大2倍B.都缩小2倍C.都不变D.不能确定2.若∠A为锐角,且sin A=,则cos A等于()A.1B.C.D.3.如图,在△ABC中,∠C=90°,AC=3,BC=4,则tan A的值是()A.B.C.D.4.如图,在△ABC中,∠B=45°,AD⊥BC交BC于点D,若AB=4,tan∠CAD=,则BC=()A.6B.6C.7D.75.在△ABC中,BC=+1,∠B=45°,∠C=30°,则△ABC的面积为()A.B.+1C.D.+16.如图,AB表示一条跳台滑雪赛道,在点A处测得起点B的仰角为40°,底端点C与顶端点B的距离为50米,BC⊥AC于点C,则赛道AB的长度为()A.米B.米C.50sin40°米D.50cos40°米7.如图,河堤横断面迎水坡AB坡比是1:2,堤高BC=4m,则坡面AB的长度是()mA.8B.16C.4D.48.如图,在4×4网格正方形中,每个小正方形的边长为1,顶点为格点,若△ABC的顶点均是格点,则sin∠BAC的值是()A.B.C.D.二.填空题(共8小题,满分32分)9.比较大小:tan50°tan60°.10.若(3tan A﹣)2+|2sin B﹣|=0,则以∠A、∠B为内角的△ABC的形状是.11.如图所示的网格是正方形网格,点A,B,P是网格线交点,则tan∠P AB+tan∠PBA =.12.如图所示,某河提的横断面是梯形ABCD,BC∥AD,迎水坡AB长13米,且AB边的坡度为,则河堤的高BE为米.13.如图,在平面直角坐标系中,点A的坐标为(4,0),点B的坐标为(0,3),以点A 为圆心,AB的长为半径画弧,交x轴的负半轴于点C,连接BC,则∠C的正弦值为.14.如图,∠EFG=90°,EF=10,OG=17,cos∠FGO=,则点F的坐标是.15.如图,在△ABC中,AH⊥BC于点H,在AH上取一点K,连接CK,使得∠HKC+∠HAC=90°,在CK上取一点N,使得CN=AC,连接BN,交AH于点M,若tan∠ABC =2,BN=15,则CH的长为.16.如图,A,B,C,D均为网格图中的格点,线段AB与CD相交于点P,则∠APD的正切值为.三.解答题(共7小题,满分56分)17.计算:﹣2(1+sin60°)18.(1)在△ABC中,∠C=90°.已知c=8,∠A=60°,求∠B,a,b;(2)如图,在△ABC中,∠C=90°,sin A=,D为AC上一点,∠BDC=45°,CD =6.求AD的长.19.已知:如图,在△ABC中,AB=AC=15,tan A=.求:(1)S△ABC;(2)∠B的余弦值.20.如图,楼房AB后有一假山CD,CD的坡度为i=1:2,测得B与C的距离为24米,山坡坡面上E点处有一休息亭,与山脚C的距离CE=8米,小丽从楼房房顶A处测得E的俯角为45°.(1)求点E到水平地面的距离;(2)求楼房AB的高.21.某海港南北方向上有两个海岸观测站A,B,距离为10海里.从港口出发的一艘轮船正沿北偏东30°方向匀速航行,某一时刻在观测站A,B两处分别测得此轮船正好航行到南偏东30°和北偏东75°方向上的C处.经过0.5时轮船航行到D处,此时在观测站A 处测得轮船在北偏东75°方向上,求轮船航行的速度(结果精确到0.1海里/时,参考数据:≈1.414,=1.732)22.如图,为测量某建筑物BC的高度,采用了如下方法:先从与建筑物底端B在同一水平线上的A点出发,沿斜坡AD(坡度i=1:2.4)行走130米至坡顶D处,再从D处沿水平方向继续前行若干米后至点E处,在E点测得该建筑物顶端C的仰角为60°,底端B 的俯角为45°,点A、B、C、D、E在同一平面内.根据测量数据,计算出建筑物BC 的高度.(参考数据:)23.阅读以下材料,并解决相应问题:在学习了直角三角形的边角关系后,我们可以继续探究任意锐角三角形的边角关系,在锐角△ABC中,∠A、∠B、∠C的对边分别是a、b、c.如图1,过点A作AD⊥BC于点D,则根据定义得sin B=,sin C=,于是AD=c sin B,AD=b sin C,也就是c sin B =b sin C,即.同理有,,即最终得到.即在一个三角形中,各边和它所对角的正弦的比相等.在锐角三角形中,若已知三个元素(至少有一条边),运用上述结论就可以求出其余三个未知元素.(1)在锐角△ABC中,若∠B=30°,∠C=45°,AC=2,求AB.(2)仿照证明过程,借助图2或图3,证明和中的其中一个.参考答案一.选择题(共8小题,满分32分)1.解:∵锐角A的正弦值是对边和斜边的比,余弦值是邻边和斜边的比,∴边长同时扩大2倍对于锐角A的正弦值和余弦值没有影响,∴锐角A的正弦值和余弦值没有改变.故选:C.2.解:∵∠A为锐角,且sin A=,∴∠A=60°,∴cos A=cos60°=,故选:D.3.解:∵AC=3,BC=4,∠C=90°,∴tan A==,故选:D.4.解:∵AD⊥BC,∴∠ADB=∠ADC=90°,在Rt△ABD中,AB=4,∠B=45°,∴AD=AB sin45°=4×=4,BD=AB cos45°=4×=4,在Rt△ADC中,tan∠CAD=,∴CD=AD tan∠CAD=4×=3,∴BC=BD+DC=4+3=7,故选:C.5.解:过A点作AD⊥BC于点D,∵∠B=45°,∴∠BAD=45°=∠B,∴AD=BD,设BD=x,则AD=x,∵∠C=30°,∴tan C=,∴,∵BC=+1,∴x+x=+1,∴x=1,即AD=1,∴.故选:A.6.解:在Rt△ABC中,∵∠A=40°,BC=50米,∴sin40°=,∴AB==米,故选:A.7.解:Rt△ABC中,BC=4m,tan A=1:2;∴AC==8m,∴AB===4(m).故选:C.8.解:延长AC到D,连接BD,如图:∵AD2=20,BD2=5,AB2=25,∴AD2+BD2=AB2,∴∠ADB=90°,∴sin∠BAC=.故选:A.二.填空题(共8小题,满分32分)9.解:∵50°<60°,∴tan50°<tan60°,故答案为:<.10.解:∵(3tan A﹣)2+|2sin B﹣|=0,∴3tan A﹣=0,2sin B﹣=0,则tan A=,sin B=,∴∠A=30°,∠B=60°,∴以∠A、∠B为内角的△ABC的形状是直角三角形.故答案为:直角三角形.11.解:设小正方形的边长是a,∵tan∠P AB===,tan∠PBA===,∴tan∠P AB+tan∠PBA=+=.12.解:由已知斜坡AB的坡度,得:BE:AE=12:5,设AE=5x米,则BE=12x米,在直角三角形AEB中,根据勾股定理得:132=5x2+(12x)2,即169x2=169,解得:x=1或x=﹣1(舍去),5x=5,12x=12即河堤高BE等于12米.故答案为:12.13.解:∵点A的坐标为(4,0),点B的坐标为(0,3),∴BO=3,AO=4,∴AB==5,∵以点A为圆心,AB长为半径画弧,交x轴的负半轴于点C,∴CO=5﹣4=1,BC==,∴sin∠C===,故答案为:.14.解:过点F作直线F A∥OG,交y轴于点A,过点G作GH⊥F A于点H,则∠F AE=90°,∵F A∥OG,∴∠FGO=∠HFG.∵∠EFG=90°,∴∠FEA+∠AFE=90°,∠HFG+∠AFE=90°,∴∠FEA=∠HFG=∠FGO,∵cos∠FGO=,∴cos∠FEA=,在Rt△AEF中,EF=10,∴AE=EF cos∠FEA=10×=6,∴根据勾股定理得,AF=8,∵∠F AE=90°,∠AOG=90°,∠GHA=90°,∴四边形OGHA为矩形,∴AH=OG,∵OG=17,∴AH=17,∴FH=17﹣8=9,∵在Rt△FGH中,=cos∠HFG=cos∠FGO=,∴FG=9÷=15,∴由勾股定理得:HG==12,∴F(8,12).故答案为:(8,12).15.解:如图,过点N作NJ⊥BC于J.设HJ=x.∵AH⊥BC,∴∠AHB=∠AHC=90°,∵tan∠ABH==2,∴可以假设BH=k,2k,∵∠HKC+∠HAC=90°,∠HKC+∠KCH=90°,∴∠HAC=∠KCH,∵NJ⊥BC,∴∠AHC=∠CJN=90°,∴△AHC∽△CJN,∴===2,∴CJ=k,∴CH=x+k,JN=(x+k),∴tan∠NBJ==,设NJ=y,BJ=2y,∵BN=15,∴5y2=152,∴y=3,∴NJ=3,∴CH=2NJ=6.16.解:连接CM,DN,由题意得:CM∥AB,∴∠APD=∠NCD,由题意得:CN2=12+12=2,DN2=32+32=18,CD2=22+42=20,∴CN2+DN2=CD2,∴△CND是直角三角形,∴tan∠NCD===3,∴∠APD的正切值为:3,故答案为:3.三.解答题(共7小题,满分56分)17.解:原式=﹣2(1+)=+﹣2﹣=﹣2.18.解:(1)∵∠C=90°,∠A=60°,∴∠B=90°﹣∠A=30°,∴b=c=4,∵tan A=,∴a=b tan A,∴a=4×=12;(2)∵∠C=90,∠BDC=45°,∴△BDC是等腰直角三角形,∴BC=CD=6,∵sin A=,∴AB==10,∵AC2=AB2﹣BC2,∴AC2=102﹣62,∴AC=8,∴AD=AC﹣DC=2.19.解:(1)过点C作CD⊥AB,垂足为D,在Rt△ABC中,tan A==,∴设CD=4k,则AD=3k,∴AC===5k,∵AC=15,∴5k=15,∴k=3,∴AD=9,CD=12,∴S△ABC=AB•CD=×15×12=90,∴S△ABC=90;(2)在Rt△BCD中,BD=AB﹣AD=15﹣9=6,CD=12,∴BC===6,∴cos B===,∴∠B的余弦值为.20.解:(1)过点E作EF⊥BC,交BC的延长线于F,∵CD的坡度i=EF:CF=1:2,∴设EF=a米,则CF=2a米,在Rt△CEF中,根据勾股定理得:CE===a(米),∵CE=8米,∴a=8,∴a=8,∴EF=8米,CF=2a=16(米),∴点E到水平地面的距离为8米;(2)如图:延长FE交AG于点H,由题意得:∠HAE=45°,AH=BF=BC+CF=24+16=40(米),AB=FH,在Rt△AHE中,HE=AH•tan45°=40×1=40(米),∴AB=HF=HE+EF=40+8=48(米),∴楼房AB的高为48米.21.解:作AE⊥CD于E,∵∠ACB=180°﹣75°﹣30°=75°,∴∠ABC=∠ACB,∴AC=AB=10海里,∵向北的方向线是平行的,∴∠ACF=∠CAB=30°,∴∠ACD=60°,∴∠CAE=30°,∴CE=AC=5海里,AE=AC=5海里,∵∠DAC=180°﹣75°﹣30°=75°,∴∠DAE=75°﹣30°=45°,∴DE=AE=5海里,∴CD=5+5≈13.66(海里),轮船航行的速度为:13.66÷=27.3(海里/时),答:轮船航行的速度是27.3海里/时,22.解:如图,过D作DH⊥AB于H,延长DE交BC于F.则四边形DHBF是矩形,∴BF=DH,在RtADH中,AD=130米,DH:AH=1:2.4,∴DH=50(米),∴BF=DH=50米),在Rt△EFB中,∠BEF=45°,∴△EFB是等腰直角三角形,∴EF=BF=50(米),在Rt△EFC中,∠CEF=60°,tan∠CEF=tan60°==,∴CF=EF=50=86.6(米),∴BC=BF+CF=136.6(米).答:建筑物BC的高度约为136.6米.23.解:(1)根据阅读材料可知,,∵∠B=30°,∠C=45°,AC=2,∴=,∴AB==2;(2)证明.理由如下:如图,连接CO并延长交⊙O于D,连接AD、BD,则∠DAC=∠DBC=90°,∠BAC=∠BDC,∠ABC=∠ADC.在Rt△ADC中,sin∠ADC=,∴CD=.在Rt△BDC中,sin∠BDC=,∴CD=,∴=,∴=,即在△ABC中,.。

c语言程序设计教程(第2版)课后题及模拟题参考答案

c语言程序设计教程(第2版)课后题及模拟题参考答案

c语⾔程序设计教程(第2版)课后题及模拟题参考答案c语⾔程序设计教程(第2版)课后题及模拟题参考答案习题1 (4)1-1 填空题 (4)1-2 思考题 (4)1-3 编程题 (5)习题2 (6)2-1 单选题 (6)2-2 思考题 (6)习题3 (7)3-1 选择题 (7)3-2 填空题 (7)3-3 编程题 (8)习题4 (11)4-1单选题 (11)4-2填空题 (11)4-3 编程题 (11)习题5 (16)5-1单选题 (16)5-2填空题 (16)5-3 编程题 (16)习题6 (22)6-1单选题 (22)6-2填空题 (22)习题7 (25)7-1单选题 (25)7-2填空题 (25)7-3 编程题 (25)习题8 (26)8-1单选题 (26)8-2填空题 (26)8-3 编程题 (26)习题9 (30)9-1单选题 (30)9-2填空题 (30)9-3 编程题 (30)习题10 (38)10-1单选题 (38)10-2填空题 (38)10-3 编程题 (38)习题11 (41)11-1单选题 (41)11-2填空题 (41)习题12 (42)12-1单选题 (42)12-2 填空题 (42)实验1 熟悉Visual C++6.0可视化集成开发环境 (43)实验2 顺序结构程序设计 (43)实验3 选择结构程序设计 (43)实验4 循环结构程序设计 (44)实验5 函数 (47)实验6 数组 (54)实验7 指针 (58)实验8 结构体和共⽤体 (61)实验9 ⽂件 (63)实验10 综合编程 (64)模拟试卷(⼀)参考答案 (65)模拟试卷(⼆)参考答案 (67)习题11-1 填空题1. 函数2. 主函数main(),主函数main()3. 主函数main()4. 函数⾸部,函数体5. {, }6. /*, */7. 顺序结构,选择结构,循环结构8. .c, .obj, .exe1-2 思考题1. 结构化程序设计是指:为使程序具有⼀个合理的结构以保证程序正确性⽽规定的⼀套如何进⾏程序设计的原则。

《统计学》-第7章-习题答案

《统计学》-第7章-习题答案

第七章思考与练习参考答案1 •答:函数关系是两变量之间的确定性关系,即当一个变量取一定数值时,另一个变量有确定值与之相对应;而相关关系表示的是两变量之间的一种不确定性关系,具体表示为当一个变量取一定数值时,与之相对应的另一变量的数值虽然不确定,但它仍按某种规律在定的范围内变化。

2•答:相关和回归都是研究现象及变量之间相互关系的方法。

相关分析研究变量之间相关的方向和相关的程度,但不能确定变量间相互关系的具体形式,也无法从一个变量的变化来推测另一个变量的变化情况;回归分析则可以找到研究变量之间相互关系的具体形式,并可变量之间的数量联系进行测定,确定一个回归方程,并根据这个回归方程从已知量推测未知量。

3•答:单相关系数是度量两个变量之间线性相关程度的指标,其计算公式为:总体相关系数二样本相关系数,「一】。

复相关系数是多元线性回归分析中度量因变量与其它多个自变量之间的线性相关程度的指标,它是方程的判定系数R2的正的平方根。

偏相关系数是多元线性回归分析中度量在其它变量不变的情况下两个变量之间真实相关程度的指标,它反映了在消除其他变量影响的条件下两个变量之间的线性相关程度。

4.答:回归模型假定总体上因变量Y与自变量X之间存在着近似的线性函数关系,可表示为Y^ 11X t u t,这就是总体回归函数,其中u t是随机误差项,可以反映未考虑的其他各种因素对Y的影响。

根据样本数据拟合的方程,就是样本回归函数,以一元线性回归模型的样本回归函数为例可表示为:Y?=耳+弭x t。

总体回归函数事实上是未知的,需要利用样本的信息对其进行估计,样本回归函数是对总体回归函数的近似反映。

两者的区别主要包括:第一,总体回归直线是未知的,它只有一条;而样本回归直线则是根据样本数据拟合的,每抽取一组样本,便可以拟合一条样本回归直线。

第二,总体回归函数中的-0和-1是未知的参数,表现为常数;而样本回归直线中的'?Q和?i是随机变量,其具体数值随所抽取的样本观测值不同而变动。

[练习]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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C语言程序设计实验教学(7)【实验目的】函数是C程序的基本组成部分,学习函数的设计和调用是很重要的。

实验目的是掌握函数的定义、变量的作用域和函数的调用。

【实验要求】实际应用程序通常是由多个函数构成的,要求将常见的功能模块用函数形式实现,并学会在主函数或其他函数中调用定义的函数。

要学会函数声明。

【实验课时】6.0【实验内容】编写函数fun(n),n为三位自然数,判断n是否为水仙花数,是返回1,否返回0。

编写main 函数,输入一个数num,调用fun(num)函数,并输出函数的返回值。

#include "stdio.h"int fun(int n){int a,b,c;a=n%10; b=n/10%10; c=n/100;if(a*a*a+b*b*b+c*c*c==n) return(1);else return(0);}main(){int num; scanf("%d",&num);while(num<100||num>=1000){printf("please enter the num again! (num>=100&&num<1000) \n");scanf("%d",&num);}if(fun(num)==1) printf(" yes \n");else printf(" no \n");}编写函数ss(n), 判断n是否为素数,是返回1,否返回0。

编写main函数,输入一个数num,调用ss(num)函数,并输出函数的返回值。

#include "stdio.h"int ss(int n){int i;for(i=2;i<n;i++)if(n%i==0) break;if(i>=n) return(1);else return(0);}main(){ int num; scanf("%d",&num);if(ss(num)==1) printf(" yes \n");else printf(" no \n");}编写一个函数fun(n),计算n!,并编写main函数测试,在main函数中输入num,调用fun(num),输出计算的结果。

#include "stdio.h"long fun(int n){long s=1; int i;for(i=1;i<=n;i++) s=s*i;return(s);}main(){int num; scanf("%d",&num);if(num>=0) printf("%d!=%ld \n",num,fun(num));else printf("input data error! \n");}使用递归函数实现计算n!,并在main函数中调用。

#include "stdio.h"long fun(int n){long f;if(n==1||n==0) f=1;else f=n*fun(n-1);return f;}main(){int num; scanf("%d",&num);if(num>=0) printf("%d!=%ld \n",num,fun(num));else printf("input data error! \n");}某数列为K(n)的定义为:用递归的方法求该数列的第6项k(6)。

1 n=1k(n)= k(n-1)×2 n为偶数k(n-1)×3 n为奇数int k(int n){int c;if(n==1) c=1;else if(n%2==0) c=k(n-1)*2;else c=k(n-1)*3;return c;}main(){int m;scanf("%d",&m);if(m>=1) printf("k(%d)=%d\n",m,k(m));else printf("input data error!\n");}计算s=(1!)+(1!+2!)+…+(1!+…+n!)。

n由用户输入,小于10。

(设计:函数h1()计算阶乘;函数h2()计算每个数据项的累加运算。

用函数的嵌套来做)long h1(int n){long t=1;int i;for(i=1;i<=n;i++) t=t*i;return t;}long h2(int m){long s=0;int i;for(i=1;i<=m;i++)s=s+h1(i);return s;}main(){int k,j;long sum=0;scanf("%d",&k);for(j=1;j<=k;j++)sum=sum+h2(j);printf("(1!)+(1!+2!)+...+(1!+2!+...+%d!)=%ld\n",k,sum);}设计一个函数fc,其功能为统计数组中偶数的个数。

编写main函数,用数组名num做为函数传递的参数调用fc函数,实现对数组num的统计,并输出统计结果。

#include "stdio.h"int fc(int a[],int n){int i,c=0;for(i=0;i<n;i++)if(a[i]%2==0) c=c+1;return(c);}main(){int i,num[10];for(i=0;i<10;i++)scanf("%d",&num[i]);printf("oushu: %d \n",fc(num,10));printf("jishu: %d \n",10-fc(num,10));}在一个一维数组a中存放10个正整数, 求其中所有的素数。

(用数组元素作为函数的实际参数)int sushu(int x){int i,k=1;if(x==1) k=0;for(i=2;i<=x/2;i++)if(x%i==0) k=0;return(k); }main( ){int a[10],i;for(i=0;i<10;i++) scanf("%d",&a[i]);printf("sushu of array a are:\n");for(i=0;i<10;i++)if(sushu(a[i])) printf("%5d",a[i]);printf("\n");}设计一个函数,计算两个自然数的最大公约数。

int gcd(int m,int n){int r;r=m%n;while(r!=0){m=n;n=r;r=m%n;}return n;}main(){int m,n;scanf("%d,%d",&m,&n);printf("%d\n",gcd(m,n));}设计一个函数float ave(int a[10]),计算数组a所有元素的平均值。

(用数组名作为函数的实际参数)float ave(int a[10]){int i,sum=a[0] ; float aver;for(i=1;i<10;i++)sum=sum+a[i] ;aver=1.0*sum/10 ;return(aver); }void main(){int i,score[10]; float aver;for(i=0;i<10;i++)scanf("%d",&score[i]);printf("\n");aver=ave(score);printf("average score is %5.2f\n",aver);}用选择法对数组中10个整数按升序排序。

(要求将排序功能设计成函数,数组名作为参数)。

void sort(int array[],int n){int i,j,k,t;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(array[j]<array[k]) k=j;t=array[k];array[k]=array[i];array[i]=t;} }void main(){int a[10],i;printf("input the array:\n");for(i=0;i<10;i++) scanf("%d",&a[i]);sort(a,10);printf("output the array after ordered:\n");for(i=0;i<10;i++) printf("%5d",a[i]);printf("\n");}设有一个3×4的矩阵,求出其中的最大元素。

(要求:将计算最大值的功能设计成函数,数组名作为参数)max_value(int array[12]){int i,max;max=array[0];for(i=0;i<12;i++)if(array[i]>max) max=array[i];return(max);}main(){int a[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}};printf("max=%d\n",max_value(a));}设计一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。

(学习指导书P74)#include <string.h>main(){int inverse (char str[]); /*函数原型声明*/char str[100];printf("Input string:\n");gets(str);inverse(str);printf("Output string after inverse:\n");puts(str);}int inverse(char st[]) /* 函数定义*/{char t; int i,j;for(i=0,j=strlen(st);i<strlen(st)/2;i++,j--){ t=st[i];st[i]=st[j-1];st[j-1]=t;}}设计一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间空一个空格。

相关文档
最新文档