第八章 习题答案

合集下载

西方经济学课后习题答案第8章

西方经济学课后习题答案第8章

第八章1.比较垄断和竞争两种市场类型的经济效率,分析垄断的低效率。

西方经济学认为,垄断会造成经济的低效率。

认为垄断的低效率是其造成市场失灵的根本表现。

可以通过比较垄断市场和完全竞争市场的价格和产量进行比较,来分析垄断的低效率。

首先回顾一下完全竞争市场的价格和产出的长期均衡。

假定完全竞争市场的长期供给曲线为一条水平直线,如图8-1中的S c所示。

由于是一个成本不变的产业,完全竞争市场的长期供给曲线表示各个产出水平相等的边际成本和平均成本。

整个市场在市场需求曲线和市场供给曲线相交的a点达到均衡,价格为P*,产出量为Q*。

需求曲线表明消费者从每个产出水平中获得的边际效用。

在价格和产出量的均衡水平上,生产最后1单位产出的社会边际成本(如水平的供给曲线所表明的)恰好等于消费者获得的归之于该单位商品的边际效用(如市场需求曲线所表明的)。

由于消费者按价格P*能够购买Q*单位的商品(产出),所以,消费者便享有了由三角形adP*所表示的全部消费者剩余。

消费者剩余也是全社会的净利益。

图8-1垄断和低效率下面再看看垄断市场的情形。

假定在产业中只有一个企业。

市场的需求曲线便是企业的需求曲线。

所以,垄断企业可以按照能够销售的数量确定其销售价格。

由于垄断企业的需求曲线是向下倾斜的,其边际收益曲线便是一条处于需求曲线之下的向下倾斜的曲线,如图8-1中的MR m所示。

假定垄断企业和竞争产业都按相同长期不变的平均成本生产,垄断企业在长期通过寻求边际成本等于边际收益的企业规模来实现利润最大化。

该企业规模反映于图8-1的平均成本曲线AC m和边际成本曲线MC m。

边际成本曲线和边际收益曲线相交于c 点(表明边际成本和边际收益相等),决定垄断企业产出量为Q m,并决定该产量的价格为P m。

由于现在消费者按价格P m消费Q m,所以他们获得的消费者剩余是三角形bdP m。

但与此同时,与完全竞争情况下相比,垄断企业获得超额利润,数量为四边形bP m P*c的面积。

西方经济学-高鸿业-习题答案第8章

西方经济学-高鸿业-习题答案第8章

第八章生产要素价格决定的需求方面1.说明生产要素理论在微观经济学中的地位.解答:要点如下:第一,从商品的角度来看,微观经济学可以分为两个部分,即关于“产品”的理论和关于“要素”的理论.前者讨论产品的价格和数量的决定,后者讨论要素的价格和数量的决定.第二,产品的理论和要素的理论是相互联系的.特别是,产品理论离不开要素理论,否则就不完全.这是因为,首先,产品理论在讨论产品的需求曲线时,假定了消费者的收入水平为既定,但并未说明收入是如何决定的,其次,在推导产品的供给曲线时,假定了生产要素的价格为既定,但并未说明要素的价格是如何决定的.这两点都与要素理论有关.因此,要素理论可以看成是产品理论的自然的延伸和发展. 在西方经济学中,产品理论通常被看成是“价值”理论,要素理论通常被看成是“分配”理论.产品理论加上要素理论,或者,价值理论加上分配理论,构成了整个微观经济学的一个相对完整的体系.2.试述厂商的要素使用原则.解答:要点如下:第一,厂商在使用要素时同样遵循利润最大化原则,即要求使用要素的“边际成本”和“边际收益”相等.第二,在一般情况下,场上使用要素的边际收益是“边际收益产品”(要素的边际产品和产品的边际收益的乘积),边际成本是“边际要素成本”.因此,一般场上使用要素的原则是:边际收益产品等于边际要素成本.第三,在完全竞争条件下,边际收益产品等于“边际产品价值”(要素的边际产品和产品价格的乘积),而边际要素成本等于“要素价格”.于是,完全竞争厂商使用要素的原则是:边际产品价值等于要素价格.3、要素使用原则与利润最大化产量原则有何关系?解答:要点如下:第一,在西方经济学中,利润最大化被假定为是任何厂商的任何活动都必须遵守的原则.因此,无论是产量的决定还是要素使用量的决定,遵守的都是同一个利润最大化原则.该原则意味着,任何厂商的任何活动的“边际收益”和“边际成本”必须相等.第二,在不同的场合,边际收益和边际成本的具体内容并不相同.例如,在产量的决定问题上,边际收益和边际成本是指增加一单位产量增加的收益和成本,而在要素使用量的决定问题上,边际收益和边际成本则是指增加使用一单位要素增加的收益和成本.第三,增加使用一单位要素所增加的收益叫“边际收益产品”,它等于要素的边际产品和产品的边际收益的乘积.因此,增加使用要素的边际收益包括了产品的边际收益.另一方面,要素的边际成本与产品的边际成本的关系则比较复杂.这是因为,要素的边际成本通常仅指增加使用某种特定要素如劳动所引起的成本变化,而产品的边际成本则与多种要素(如劳动和资本)的共同变化有关——产品是由多种要素共同生产出来的.4、在什么情况下,要素的需求曲线不存在?解答:要点如下:第一,要素需求曲线意味着,在一定范围内,对于每一个要素的价格,都有一个唯一的要素需求量与之对应.第二,如果在要素市场上,市场的买方属于完全竞争(卖方则既可以是完全竞争,也可以是不完全竞争),则给定一个要素价格,就有一个唯一的要素需求量与之对应,即存在要素的需求曲线.第三,如果在要素市场上,市场的买方属于不完全竞争(如垄断),则会出现如下情况:对于同一个要素价格,可能会有多个不同的要素需求量与之对应.在这种情况下,就不存在一条确定的要素需求曲线.5、试述厂商及市场在完全竞争和垄断、行业调整存在和不存在等各种情况下的要素需求曲线.解答:要点如下:第一,在完全竞争条件下,厂商对要素的需求曲线向右下方倾斜,即随着要素价格的下降,厂商对要素的需求量将增加.第二,如果不考虑厂商所在行业中其他厂商的调整,则该厂商的要素需求曲线就恰好与其边际产品价值曲线重合.第三,如果考虑厂商所在行业中其他厂商的调整,则该厂商的要素需求曲线将不再与边际产品价值曲线重合.这是因为,随着要素价格的变化,如果整个行业所有厂商都调整自己的要素使用量,从而都改变自己的产量的话,产品的市场价格就会发生变化.产品价格的变化会再反过来使每一个厂商的边际产品价值曲线发生变化.于是,厂商的要素需求曲线将不再等于其边际产品价值曲线.在这种情况下,厂商的要素需求曲线叫做“行业调整曲线”.行业调整曲线仍然向右下方倾斜,但比边际产品价值曲线要陡峭一些.第四,在完全竞争条件下,市场的要素需求曲线等于所有厂商的要素需求曲线(行业调整曲线)的水平相加.第五,不完全竞争的情况比较复杂.在不完全竞争要素市场中,卖方垄断厂商的要素需求曲线向右下方倾斜,即随着要素价格的下降,厂商对要素的需求量将增加,而且,它还与边际收益产品曲线恰好重合. 第六,在不完全竞争要素市场中,如果所有厂商均是卖方垄断者,则它们的要素需求曲线就等于各自的边际收益产品曲线.于是,市场的要素需求曲线就是所有这些厂商的边际收益产品曲线的水平相加.第七,如果在不完全竞争要素市场中,并非所有厂商均是卖方垄断者,则它们的要素需求曲线就是行业调整曲线.于是,市场的要素需求曲线就是所有这些厂商的行业调整曲线的水平相加.买方垄断厂商的要素需求曲线不存在.6、设一厂商使用的可变要素为劳动L,其生产函数为:Q=-0.01L3+L2+38L其中,Q为每日产量,L时每日投入的劳动小时数,所有市场(劳动市场及产品市场)都是完全竞争的,单位产品价格为0.10美元,小时工资为5美元,厂商要求利润最大化.问厂商每天要雇用说少小时劳动?解答:要点如下:已知工资W=5.根据生产函数及产品价格P=0.10,可求得劳动的边际产品价值如下: VMP L =P ×MPP L =P ×dLdQ=0.10×()3801.0(23'++-L L ) =0.01×(-0.03L 2+2L+38)第三,完全竞争厂商的利润最大化要求边际产品价值等于工资,即: 5=0.10×(-0.03L 2+2L+38) 或 0.03L 2-2L+12 第四,解之得: L 1=20/3 L 2=60.第五,当L 1=20/3时,利润为最小(因为6.1=dLdMPP L>0),故略去. 第六,当L 2=60时,利润为最大(6.1-=dLdMPP L<0).故厂商每天要雇佣60小时的劳动.7、已知劳动是唯一的可变要素,生产函数为Q=A+10L-5L 2,产品市场是完全竞争的,劳动价格为W ,试说明: (a )厂商对劳动的需求函数.(b)厂商对劳动的需求量与工资反方向变化. (c)厂商对劳动的需求量与产品价格同方向变化. 解答:(a )因产品市场为完全竞争市场,根据 W=VMP=P ×MPP L =P ×dLdQ即 W=P ×(10-10L )=10P-10PL 得厂商对劳动的需求函数为:L=PW101-(b )因 PW L 101-=∂∂ <0 ,故厂商对劳动的需求量与工资反方向变化.(c )因 210P PP L =∂∂ >0 ,故厂商对劳动的需求量与产品价格同方向变化.8、某完全竞争厂商雇用一个劳动日的价格为10元,其生产情况如下表所示.当产品价格为5元,它应雇用多少个劳动日?解答:由题意可计算得下表:由表中可以看到,当L=7时,边际产品价值与工资恰好相等,均等于10.故厂商应雇佣7个劳动日.9、某产品和要素市场上的完全垄断者的生产函数为Q=4L.如果产品的需求函数为Q=100-P ,工人的劳动供给函数为L=0.5W-20,则为了谋求最大利润,该厂商应当生产多少产量?在该产量下,L ,W ,P 各等于多少?解答:由Q=100-P 即P=100-Q 及Q=4L 得: TR=PQ=(100-Q )×Q=(100-4L )×4L=400L-16L 2dLdTRMRP L ==400-32L 由L=0.5W-20即W=2(L+20)得: TC=WL=2(L+20)L=2L 2+40L MFC L =dLdTC=4L+40 利润最大化要求MRP L =MFC L ,即400-32L=4L+40 于是L=10 Q=4L=4×10=40W=2(20+L )=2(20+10)=60 P=100-Q=100-40=6010、假定一垄断厂商仅使用劳动L 去生产产品.产品按竞争市场中的固定价格2出售.生产函数为q=6L+3L 2-0.02L 3,劳动供函数为W=60+3L.求利润最大化时的L ,q ,W. 解答:由q=6L+3L 2-0.02L 3得:dLdqMPP L ==6+6L-0.06L 2 于是VMP L=P×MPP L=2(6+6L-0.06L2)=12+12L-0.12L2由C L=WL=60L+3L2,得MFC L=60+6L根据VMP L=MFC L有:12+12L-0.12L2=60+6L0.12L2-6L+48=0得L1=10(舍去),L2=40于是,当利润最大化时有:L=40q=6×40+3×402-0.02×403=3760W=60+3×40=180。

《大数据技术原理与操作应用》第8章习题答案

《大数据技术原理与操作应用》第8章习题答案

第八章一、单选题1.当服务器突然宕机,下列Channels选项中,哪一个可以保证数据不会丢失。

A、Memory ChannelB、File ChannelC、JDBC ChannelD、Kafka Channel参考答案:B2.、以下关于flume的说法正确的是A Event是Flume数据传输的基本单元B Sink是Flume数据传输的基本单元C Channel是Flume数据传输的基本单元D Source是Flume数据传输的基本单元参考答案:A二、多选题1、下列选项中,说法错误的是()。

•A、在一个Agent中,同一个source可以有多个channel•B、在一个Agent中,同一个sink可以有多个channel•C、在一个Agent中,同一个source只能多1个channel•D、在一个Agent中,同一个sink只能有1个channel参考答案:A,D2、下列说法中,关于配置参数说法错误的是()。

•A、a1.sources.r1.channels = c1•B、a1.sinks.k1.channel = c1•C、a1.source.r1.channels = c1•D、a1.sinks.k1.channels = c1参考答案:C,D三、判断题1、在一个POST请求发送的所有的events数据,可以在多个事务中插入channel。

•对•错参考答案:错答案解析:在一个POST请求发送的所有的events都被认为是一个批次,会在一个事务中插入channel。

2、Flume负载均衡接收器处理器能够在多个Sink上进行均衡流量的功能。

•对•错参考答案:对3、查询和替换拦截器基于Java正则表达式提供了简单的用于字符串的搜索和替换功能,同时还具有进行回溯/群组捕捉功能。

•对•错参考答案:对4、采集方案中的sources、channels、sinks是在具体编写时根据业务需求进行配置的,可以随意设置。

第8章习题答案

第8章习题答案

第八章多态1.单选题(1).下列关于运算符重载的描述中,( D )是正确的。

(A) 可以改变参与运算的操作数个数 (B) 可以改变运算符原来的优先级(C) 可以改变运算符原来的结合性(D) 不能改变原运算符的语义(2).下列函数中,不能重载运算符的函数是( b )。

(A) 成员函数(B) 构造函数(C) 普通函数 (D) 友员函数(3).要求用成员函数重载的运算符是( A )。

(A) =(B) == (C) <= (D) ++(4).要求用友员函数重载的运算符是( C )。

(A) = (B) [] (C) <<(D) ()(5).在C++中,要实现动态联编,必须使用( D )调用虚函数。

(A) 类名(B) 派生类指针(C) 对象名(D) 基类指针(6).下列函数中,不能说明为虚函数的是( C )。

(A) 私有成员函数(B) 公有成员函数(C) 构造函数(D) 析构函数(7).在派生类中,重载一个虚函数时,要求函数名、参数的个数、参数的类型、参数的顺序和函数的返回值( A )。

(A) 相同(B)不同(C) 相容(D) 部分相同(8).C++中,根据(D )识别类层次中不同类定义的虚函数版本。

(A) 参数个数(B) 参数类型(C) 函数名(D) this指针类型(9).虚析构函数的作用是(C )。

(A) 虚基类必须定义虚析构函数(B) 类对象作用域结束时释放资源(C)delete动态对象时释放资源(D) 无意义(10).下面函数原型中,( B )声明了fun为纯虚函数。

(A) void fun()=0; (B) virtual void fun()=0;(C) virtual void fun(); (D) virtual void fun(){ };(11).若一个类中含有纯虚函数,则该类称为( C )。

(A) 基类(B)纯基类(C) 抽象类(D) 派生类(12).假设Aclass为抽象类,下列正确的说明语句是( B )。

《传感器与检测技术》课后习题:第八章(含答案)

《传感器与检测技术》课后习题:第八章(含答案)

第八章习题答案1.什么是光电效应,依其表现形式如何分类,并予以解释。

解:光电效应首先把被测量的变化转换成光信号的变化,然后通过光电转换元件变换成电信号,光电效应分为外光电效应和内光电效应两大类:a)在光线作用下,能使电子逸出物体表面的现象称为外光电效应;b)受光照的物体导电率1R发生变化,或产生光生电动势的效应叫内光电效应。

2.分别列举属于内光电效应和外光电效应的光电器件。

解:外光电效应,如光电管、光电倍增管等。

内光电效应,如光敏电阻、光电池和光敏晶体管等。

3.简述CCD 的工作原理。

解:CCD 的工作原理如下:首先构成CCD 的基本单元是MOS 电容器,如果MOS 电容器中的半导体是P 型硅,当在金属电极上施加一个正电压时,在其电极下形成所谓耗尽层,由于电子在那里势能较低,形成了电子的势阱,成为蓄积电荷的场所。

CCD 的最基本结构是一系列彼此非常靠近的MOS 电容器,这些电容器用同一半导体衬底制成,衬底上面覆盖一层氧化层,并在其上制作许多金属电极,各电极按三相(也有二相和四相)配线方式连接。

CCD 的基本功能是存储与转移信息电荷,为了实现信号电荷的转换:必须使MOS 电容阵列的排列足够紧密,以致相邻MOS 电容的势阱相互沟通,即相互耦合;控制相邻MOC 电容栅极电压高低来调节势阱深浅,使信号电荷由势阱浅的地方流向势阱深处;在CCD 中电荷的转移必须按照确定的方向。

4.说明光纤传输的原理。

解:光在空间是直线传播的。

在光纤中,光的传输限制在光纤中,并随光纤能传送到很远的距离,光纤的传输是基于光的全内反射。

当光纤的直径比光的波长大很多时,可以用几何光学的方法来说明光在光纤内的传播。

设有一段圆柱形光纤,它的两个端面均为光滑的平面。

当光线射入一个端面并与圆柱的轴线成θi 角时,根据斯涅耳(Snell )光的折射定律,在光纤内折射成θj ,然后以θk 角入射至纤芯与包层的界面。

若要在界面上发生全反射,则纤芯与界面的光线入射角θk 应大于临界角φc (处于临界状态时,θr =90º),即:21arcsin k c n n θϕ≥=且在光纤内部以同样的角度反复逐次反射,直至传播到另一端面。

《电力系统分析》第8章习题答案

《电力系统分析》第8章习题答案


j
900
⎥ ⎥
=
⎢ ⎢0.494e
j 2550
⎥ ⎥
1 ⎥⎦⎢⎣2e j1350 ⎥⎦
⎢⎣0.195e
j1350
⎥ ⎦
8-13 试画出图 8-62 所示电力系统 k 点发生接地短路时的正序、负序和零序等值网络。
图 8-62 习题 8-13 附图
解:正序、负序、零序等值网络见下图 a)、b)、c)。
(3)k 点发生 a、c 两相接地短路时
Ib1
=
j( X 1∑
E1Σ
=
+ X 2∑ // X 0∑ )
j1 j(0.202 + 0.214 // 0.104)
= 3.677
Ib2
=

X 0∑ X2∑ + X0∑
Ib1
=

0.104 0.214 + 0.104
× 3.677
=
−1.203
Ib0
=

X 2∑ X2∑ + X0∑
Ib1
=
− 0.214 × 3.677 0.214 + 0.104
=
−2.474
U b1 = U b2 = U b0 = − jX 2∑ Ib2 = − j0.214 × (−1.203) = j0.257
Ib = 0
Ic = a 2 Ib1 + aIb2 + Ib0 = e j240° × 3.677 − e j120° ×1.203 − 2.474 = 5.624e− j131.29° Ia = aIb1 + a2 Ib2 + Ib0 = e j120° × 3.677 − e j240° ×1.203 − 2.474 = 5.624e j131.29° Ub = 3Ub1 = 3× j0.257 = j0.771 U a = U c = 0

第8章习题答案(孙丽华)

第8章习题答案(孙丽华)

4
3
体。由 n 10 和 a l 2 查表 9-7 得 0 .66 ,则钢管根数为
n
0.9 R E (1)
R E ( man)

0.9 45 11.26 0.66 5.45
考虑到接地体的均匀对称布置,最后确定选用 12 根直径 50mm、长 2.5m 的钢管作接地体,并 用 40×4mm2 的扁钢连接,呈环形布置。
可见,该避雷针不能保护这座建筑物。 8-13 某电气设备需进行接地, 可利用的自然接地体电阻为 15Ω, 而接地电阻要求不得大于 4Ω。
试选择垂直埋地的钢管和连接扁钢。已知接地处的土壤电阻率为 150 Ω m。 解:需要装设的人工接地体的接地电阻为
R E ( man)
ቤተ መጻሕፍቲ ባይዱ
R E ( nat ) R E R E ( nat ) R E
答:变电所内的设备和建筑物必须有完善的直击雷防护装置,通常采用独立避雷针或避雷线; 对于雷电侵入波的过电压保护是利用阀型避雷器以及与阀型避雷器相配合的进线段保护。 8-5 什么叫接地?什么叫接地装置?电气上的“地”是什么意义?什么叫对地电压?什么叫接
触电压和跨步电压? 答:电气设备的某部分与大地之间做良好的电气连接,称为接地。接地体与接地线的总和,称 为接地装置。 电气上的“地”是指在距接地体 20m 以外电位等于零的地方。电气设备的接地部分(如接地的
答:总等电位联结是在建筑物进线处,将 PE 线或 PEN 线与电气装置接地干线、建筑物内的各 种金属管道(如水管、煤气管、采暖和空调管道等)以及建筑物的金属构件等,都接向总等电位连 接端子板,使他们都具有基本相等的电位;局部等电位联结又称辅助等电位联结,是在远离总等电 位联结处、非常潮湿、有腐蚀性物质、触电危险性大的局部范围内进行的等电位联结,以作为总等 电位联结的一种补充。 采取等电位联结后,可以降低接触电压,保障人身安全。 8-9 什么叫感知电流、摆脱电流和致命电流?电流对人体的伤害程度与哪些因素有关?我国规

形势与政策习题答案第8章

形势与政策习题答案第8章

第八章港澳台问题一、单项选择题(每小题5分,共计25分)1.1840年,中英签订(),中国被迫割让香港岛给英国。

A.《南京条约》B.《北京条约》C.《马关条约》D.《辛丑条约》答案:A解析:1840年,英国发动鸦片战争,清政府惨败。

1842年8月29日,清政府与英国签订了中国近代历史上第一个丧权辱国的不平等条约——中英《南京条约》。

条约规定,中国将香港岛割让给英国。

随后,中英又相继签订了《五口通商章程》和《虎门条约》《北京条约》《展拓香港界址专条》等不平等条约,先后占领了九龙半岛和新界。

英国通过刺刀、洋枪与大炮的野蛮征服,实现了对中国香港地区领土的占领。

知识点:香港问题的产生难度级别:12.20世纪80年代初,为实现国家和平统一,国家领导人邓小平创造性地提出了“()”的科学构想,并首先用于解决香港问题。

A.武力统一B.一国两制C.社会主义本质D.改革开放答案:B解析:20世纪80年代初,为实现国家和平统一,国家领导人邓小平创造性地提出了“一国两制”的科学构想,并首先用于解决香港问题。

按照邓小平的论述,“一国两制”是指在一个中国的前提下,国家的主体坚持社会主义制度,香港、澳门、台湾保持原有的资本主义制度长期不变。

知识点:一国两制的提出难度级别:23.(),中国政府对香港恢复行使主权,香港特别行政区成立。

A.1998年7月1日B.1999年12月20日C.1997年7月1日D.1997年10月1日答案:C解析:1997年7月1日,中国政府对香港恢复行使主权,香港特别行政区成立,香港基本法开始实施。

香港进入了“一国两制”、“港人治港”、高度自治的历史新纪元。

作为祖国大家庭的一分子,香港同胞与内地民众共享伟大祖国的尊严与荣耀,共担中华民族伟大复兴的责任和使命。

知识点:香港回归难度级别:14.1997年,刚刚回归的香港GDP约为1774亿元,人均GDP约为2.73万美元。

2019年,香港GDP达到了()万亿元,人均GDP 约为4.88万美元。

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

8.2 阅读程序,指出程序的输出结果。

(1) #include <stdio.h >void main(){ char *p ="Student ";void prn_str(char *, int, int);prn_str(p, 6, 4);}void prn_str(char *str, int m, int n){ int i;for (i =1; i <=m -n; i ++)printf(" ");for (i =1; i <=n; i ++)printf("%c ", *str ++);printf("\n ");}(2) #include <stdio.h >void main(){ int a[3][4]={1, 2, 3, 4, 3, 4, 5, 6, 5, 6, 7, 8};int i, j, *p =*a;for (i =0; i <3; i ++) { for (j =0; j <4; j ++) printf("%3d ", *p ++); printf("\n ");}}(2) #include <stdio.h >void main() { char a[]="Chang "; char *p =a; while (*p) printf("%s\n ", p ++);}8.3 程序填空。

(1) 以下函数用于求出一个3⨯4矩阵中的最大元素值。

#include <stdio.h >int maxvalue(int (*p)[4]){ int i, j, max;max =①;for (i =0; ②; i ++){ for (j =0; ③; j ++)if (④>max) max =⑤;p ++;}return max;}void main(){ int arr[3][4]={4, 2, 7, 2, 9, 1, -4, 24, 5, 0, 12, 16};int max;max=maxvalue(⑥);printf("Max=%d\n", max);}(2) 下面函数用于计算子串substr在母串str中第一次出现的位置,如果母串中不包含子串,则返回0值。

如:at("ver", "university")返回的值为4,at("ty", "string")返回的值为0。

int at(char *substr, char *str){ int i, j, post;for (post=0; str[post]!=①; post++){ i=0; j=②;{ i++;j++;}if (substr[i]=='\0')return ③;}return ④;}8.4 编写程序(下面程序均要求用指针方法处理)。

(1) 对一个3⨯4矩阵,分别求出它的所有元素中的最大值和最小值所在的行号及列号(假设最大值和最小值都是唯一的)。

#include <stdio.h>void main(){int a[3][4]={2,3,4,12,-5,34,78,-23,65,112,-7,-208};int i,j,max,min,minm,minn,maxm,maxn,(*p)[4]=a;//p保存行号,q保存列号minm=minn=maxm=maxn=0;max=min=*(*p);for(i=0;i<3;i++)for(j=0;j<4;j++){if(*(*(p+i)+j)>max){max=*(*(p+i)+j);maxm=i;maxn=j;}else if(*(*(p+i)+j)<min){min=*(*(p+i)+j);minm=i;minn=j;}}printf("the max number at %d hang %d lie\n",maxm,maxn);printf("the min number at %d hang %d lie\n",minm,minn); }(2) 对一个3 4矩阵分别进行横向和纵向汇总。

#include <stdio.h>void main(){int a[3][4]={2,3,4,12,-5,34,78,-23,65,112,-7,-208};int i,j,hangsum,liesum,(*p)[4]=a;hangsum=0;liesum=0;for(i=0;i<3;i++){for(j=0;j<4;j++){hangsum=hangsum+*(*p+j);printf("%3d ",hangsum);}p++;}printf("hang sum:%3d ",hangsum);printf("\n");p=a;for(j=0;j<4;j++){for(i=0;i<3;i++){liesum=liesum+*(*(p+i)+j);printf("%3d ",liesum);}}printf("lie sum:%3d ",liesum);}(3) 编写一个函数str_cat,实现函数strcat的功能。

#include <stdio.h>char *str_cat(char *str1,char *str2){char *temp = str1;while(*str1!='\0'){str1++;}while(*str2!='\0'){*str1 = *str2;str1++;str2++;}*str1 = '\0';return temp;}void main(){char a[20] = "Good ";char b[20] = "afternoon!";printf("%s",str_cat(a,b));}(4) 有一个班5个学生,4门课。

要求编写四个函数分别实现以下四个要求。

①找出有2门及2门以上课程不及格的所有学生,输出他们的学号;#include <stdio.h>void Fail_Stu(int a[5][5]){int i,j,k,(*p)[5]=a;for(i=0;i<5;i++){k=0;for(j=1;j<5;j++)if (*(*(p+i)+j)<60) k++;if (k>=2) printf("%d ",*(*(a+i)+0));}}②求第1门课的全班平均分,并将该平均分返回主函数中输出;float Average(int (*a)[5]){int i;float ave=0.0;for(i=0;i<5;i++)ave+=*(*(a+i)+1);ave=ave/5;return ave;}③找出4门课程平均成绩在90分以上(含90分)或全部课程成绩都在85分以上(含85分)的所有学生,输出他们的学号及全部课程成绩和平均成绩;void Good_Ave(int (*a)[5]){int i,j,count;float ave=0.0;for(i=0;i<5;i++){count=0;ave=0;for(j=1;j<5;j++){ave+=*(*(a+i)+j);if (*(*(a+i)+j)>=85) count++;}ave=ave/4;if (ave>=90.0 || count==4){for(j=0;j<5;j++){printf("%d ",*(*(a+i)+j));}printf("The average score is:%f\n",ave);}}}④将所有学生按成绩排序,排序后再输出所有学生各门课程的成绩表。

排序的原则是:先按第一门课程成绩排序,第一门课程成绩高的排在前面,成绩低的排在后面;如果第一门课程的成绩相同,则再比较第二门课程的成绩,第二门课程成绩高的排在前面,成绩低的排在后面;如果第一门课程及第二门课程的成绩均相同,则学号在前的排在前面,学号在后的排在后面。

#include <stdio.h>#include <string.h>void SortStu(int (*p[])[5]){int (*t)[5],post;int i,j;for (i=0; i<4; i++){//把学号按照从小到大排好序post=i;for (j=i+1; j<5; j++)if (*(*p[j]+0)<*(*p[post]+0)) post=j;if (post!=i){t=p[i];p[i]=p[post];p[post]=t;}}for (i=0; i<4; i++){//把第二门成绩按照从大到小排好序post=i;for (j=i+1; j<5; j++)if ( *(*p[j]+2)>*(*p[post]+2) ) post=j;if (post!=i){t=p[i];p[i]=p[post];p[post]=t;}}for (i=0; i<4; i++){//把第一门成绩按照从大到小排好序post=i;for (j=i+1; j<5; j++)if ( *(*p[j]+1)>*(*p[post]+1) ) post=j;if (post!=i){t=p[i];p[i]=p[post];p[post]=t;}}}void main(){int i,j;int (*p[5])[5];inta[5][5]={{101,98,76,77,78},{103,85,86,77,78},{102,45,76,67,78},{105,77,76,76,78},{104,77,76, 77,78},};for(i=0;i<5;i++){for(j=0;j<5;j++)printf("%d\t",a[i][j]);printf("\n");}printf("*****按照题目意思排序后的学生成绩:*****\n");printf("学号\t第一门第二门第三门第四门\n");for(i=0;i<5;i++)p[i]=a+i;SortStu(p);for (i=0; i<5; i++){for (j=0; j<5; j++)printf("%d\t", *(*p[i]+j) );printf("\n");}}(5) 编写程序实现将键盘输入的一行字符按单词倒排输出。

相关文档
最新文档