基于ABC神经网络的烟草物流企业的成本分析研究_第1页
基于ABC神经网络的烟草物流企业的成本分析研究_第2页
基于ABC神经网络的烟草物流企业的成本分析研究_第3页
基于ABC神经网络的烟草物流企业的成本分析研究_第4页
基于ABC神经网络的烟草物流企业的成本分析研究_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 基于ABC神经网络的一种水果物流企业的成本分析模型杨君岐 邹松庆 艾晓宇陕西科技大学管理学院, 陕西 西安市 邮编 710021摘 要:本文基于作业成本法建立了对水果物流企业进行成本分析的神经网络模型,并用陕西省某水果物流企业2012年资料进行了实际分析计算,取得了非常满意的分析结果。网路的输入是企业的实际若干成本费用项目、网路的输出,按分析的需要,可以是,不同地区、不同客户、不同线路等,成功解决了水果物流费用项目与各核算对象成本之间的多对多的非线性映射关系,为按不同研究进行成本分析提供了可靠地工具,为了便于使用,这里提供了在MATLAB中的分析程序。关键词:作业成本法;神经网络;水果;物流

2、Cost Analysis of Tobacco Logistics Enterprises Based on ABC and Neural NetworkABSTRACT: Activity-Based Costing principle is applied and costing model of tobacco logistics enterprises is built. In order to study the affect of logistics cost to different scales regions, customers of different sizes an

3、d different nature of customer costs, actual data from Dec.2010 to Dec.2012 of some a tobacco logistics in Anhui province is calculated, so that enterprises can refine the customer market and do targeted services. The paper build forward neural network model of costing management and analysis foreca

4、st based on Activity-Based Costing. Train and predict network by actual data and make a good simulation result. The model successfully solves a nonlinear mapping relation law between logistics cost and accounting object, it can provide theoretical support and reference in future research.KEYWORDS:Ac

5、tivity-Based Costing;neural network;tobacco logistics随着人民生活水平的不断提高,水果消费在人们消费中占的比重越来越大,水果的生产和运输已经形成了一个非常重要的产业,由于水果产品的特殊性,运输和仓储管理水平的高低不仅直接影响产品的质量和品质,也是影响产品价格的主要因素之一,为此,本文,紧紧抓住物流环节的主要环节建立作业中心,通过建立神经网络,多角度研究影响水果物流成本的因素,以便降低物流费用,提高企业和产品的竞争力。1.基于ABC法的水果物流企业成本核算模型1.1 水果物流企业作业中心的建立资源是水果物流企业在整个服务过程中投入的各种费用,包

6、括许多项目4。这里选择主要费用10项包括:运输费、仓储费、装卸费、保险费、薪酬、消防保卫费、业务招待费、修理费、折旧费、水电费等。按其性质,核心业务成本,主要是运输环节、保管环节和装卸送达环节,本文将它归为:运输、仓储保管、装卸搬运等三大类业务,并建立对应地三个作业中心:运输作业中心、仓储作业中心和装卸搬运作业中心。陕西省某水果物流企业的物流费用见表1。表1陕西省某水果物流企业2011.1-2013.1主要物流费用表 单位:元时间运输仓储装卸保险薪酬消防警卫业务招待修理折旧水电2011.01661236.71857433.05526731.2437925.65172288.4419710.00

7、1832.001231.495279.429209.832011.021186011.27768967.51619853.511873.04196364.7324710.004995.507790.925279.3912941.352011.031576704.132776263.65717677.98331089.64219426.3324710.004969.006013.375279.4213025.282011.04836984.87866695.44311609.8636928.57175943.9533470.004972.5017271.125279.397148.652011.

8、05784351.23863421.00531256.0034678.89187965.0030123.004876.0010897.005279.366709.002011.06875634.45898834.00489076.0040897.00176890.0034567.005002.007890.005279.337100.002011.07984530.80563214.00542378.0051089.00198765.0029998.006007.008765.005279.307900.002011.081023458.70598763.00679834.0049001.00

9、202144.0030123.004997.005600.005279.276234.002011.09885634.32673421.00430987.0031008.00189001.0040123.005123.006543.005279.246000.002011.101315679.45668234.00704432.0060897.00221189.0048002.005300.009087.005279.216780.002011.111783452.90903421.00843210.0069008.00265690.0043001.004987.008876.005279.1

10、87908.002011.12980765.21560983.00508761.0050123.00302187.0037001.007000.006543.005279.158567.002012.01690012.72765439.00500123.0023541.00199876.0030012.006543.009087.005279.127467.002012.02765543.80790034.00410089.0025009.00176543.0040023.006109.004213.005279.127234.002012.03804567.87742130.10439801

11、.0019006.00190083.0020098.005530.005432.005800.006900.002012.041209342.67832109.12708765.7040987.00220015.0028765.005610.007654.005800.008900.002012.051098753.73890543.00664321.1039998.00218066.0040123.004987.007654.305800.008945.002012.06867634.65776540.12500675.0023150.00239076.0035321.004098.0087

12、65.905800.0012098.002012.07910067.23721309.00480012.0028765.00208876.0029887.005032.0012654.705800.0010235.002012.08837623.90698743.00502310.0018967.00199987.0030124.006006.008976.895800.009802.002012.09101054.23702310.00675431.0030098.00202312.0039124.004900.007875.095800.008923.002012.10784323.328

13、85430.00449087.0021008.00201010.0030875.005200.007865.805800.009678.002012.111323567.782543126.10709865.0050098.00245623.0046002.003987.005567.895800.0014589.002012.121287908.421908787.00678342.0060080.00221045.0050032.006008.00473.875800.0013678.002013.01769312.60521098.00408976.0017543.00201278.00

14、38003.005123.006743.805800.009784.001.2 水果物流企业各作业中心成本动因动因的确定与每个作业中心密切相关的是每个作业中心的成本动因的确定,这是成本分析的关键之一。这里依次为运输、仓储和装卸三个作业中心确定的作业动因分别是:运输“标准公里数”、仓储“标准件.次”,装卸“标准件.次”。1.3 水果物流企业各作业中心总成本的汇总在ABC法中要进行成本分析,首先必须计算出各作业中心的动因分配率,完成这个工作的前提是汇总各作业中心的作业总量和总成本。各作业中心成本,按其性质分为直接成本和间接成本,运输费、仓储费、装卸费,分别是运输作业中心、仓储作业中心和装卸搬运作业

15、中心的直接成本,其他费用属于间接费用。1.4水果物流企业动因分配率的计算要计算动因分配率,必须按作业中心汇总出作业总量,这里分别汇总运输、仓储、装卸搬运中心的作业总量,同时结合前面汇总的各作业中心的总成本,计算出各作业中心的动因分配率。动因分配率见表2。表2 A、B、C三个地区物流成本表 单位:元时间A地区物流成本B地区物流成本C地区物流成本动因分配率运输仓储装卸2011.014610791950308995442875850.8997.79115.352011.025127773752588870530696931.17104.0191.982011.03532214234935590745

16、9150601.05101.3480.962011.046838003266111729430837411.0287.97122.382011.056013870662342516542690460.89108.1694.122011.066605521361892178419432861.1192.6291.542011.076405359550159405485983530.9595.16120.42011.085248440853449925636951391.13105.4691.352011.094762753946984996450516561.0699.19113.882011.

17、105035432042786075547480421.07104.9100.122011.114383548060190408446115341.3288.9105.972011.127272714957913736507226741.2096.3796.12012.015488337244196726502193311.06100.61103.732012.025591577959877135606620521.06113.61105.352012.035517505060165193676746691.04125.6596.342012.0459555351583350325640891

18、61.32103.76100.792012.057067245868612463723141721.20131.85108.722012.066851905763671136548199290.9999.07122.242012.076099240158079502567076171.01101.56116.832012.086316905755577635535555101.16106.37105.362012.096728149277767894715404341.22125.96123.842012.104864457574073080626977721.09109.53105.6120

19、12.118235430173095966574846891.15120.41114.072012.127601517055401781574025511.25105.85105.42013.017029562855874338621124161.72106.3998.73平均值6038948958352505549438351.12105.3105.251.5各成本核算对象作业中心作业量的汇总与成本的分摊在计算各成本对象的成本之前,必须将各作业中心的总成本,按各核算对象对作业的消耗量进行分摊,所以必须首先汇总统统计出各成本核算对象对不同作业的消耗总量,这里以安徽某烟草物流公司2011.01-

20、2013.01期间25个月的资源实际发生额为研究对象,汇总出三个地区的作业消耗,并按动因率计算在各作业中心摊得的成本。1.6各成本核算对象物流总成本的计算将上步计算的各作业中心所摊得的成本相加即可得到各核算对象的物流总成本,A、B、C三个地区物流成本见表2。2.基于BP神经网络的物流企业成本分析模型2.1利用BP神经网络成本分析的原理 在作业成本法中,核算对象可以灵活设置,这为问题研究提供了极大的方便,但要研究各成本核算对象成本主要影响因素,是个多对多的复杂问题,很难用传统方法进行处理,为此,本文建立神经网络模型进行研究。建立如图1所示一个三层神经网络结构。它具有:(1)输入层。用来输入资源动

21、因数据、或作业中心成本。(2)中间层。也称为处理层或隐层,处理输入层的数据并为输出层传递信息。(3)输出层。它以中间层的输出作为输入,再经处理给出网络的最终输出。若共有m个输出单元,则一次输出一个m维向量,这里依据分析的需要,也许是各个作业中心的总成本或是服务产品的总成本或单个产品的成本。x1 x2 x12输入层 中间层(隐层) 输出层 图1 仿真成本分析的BP网络结构BP网络是一种多层前馈神经网络,它是仿真人的大脑思考问题的过程,有若干神经元构成,每个神经元,与其他神经元之间有联系,其联系方式,一般通过转换函数实现,转换函数取值,一般是绝对值以归一化,而且,基本都是初等的连续函数,这里构造三

22、层神经元。如果权值的调整采用反向传播(Back Propagation)的学习算法,就叫BP网络。在确定了BP网络的结构后,利用本文所选样本公司的若干项指标数据和输出层对应的若干项数据(这些依据研究分析的需要不同,或许是资源成本动因+作业中心总成本;资源成本动因+服务产品总成本等),可以对网络进行训练,也即对网络的权值和阈值进行学习和调整,以使网络确定有关费用项目与物流成本之间的复杂映射关系。网络的训练过程实际上是一个循环调整神经元之间权重的过程,控制循环的目标是仿真值与真值误差向量,权重的调整用计算方法中的梯度下降法。6 设BP网络的输入层为: (3.1)其中x是为训练网络选取的输入层数据。

23、BP 网络的中间层单元输入和输出值: (3.2) (3.3)其中 为权向量, 为网络的转换函数,它可以依据研究需要灵活调整,例如sigmoid: (3.4)训练网络的(BP网络)的输出层为: (3.5)其中 是神经网络系统的输出向量,一般由输出层的要素数确定,输出层神经元的的传递函数也可灵活选择,本文logsig函数, 为权系数。 控制网络训练迭代过程的目标是,输出量构成的误差向量,其s基本计算公式如下: (3.6)在训练网络时,首先确定一个极限误差,和极限迭代次数,二者中有一个满足条件即可结束网络训练,否则,不断调整,权重向量,计算新的网络输出,再与真值比较计算仿真误差。梯度搜索算法中权重向

24、量的计算公式如下。 (3.7) (3.8)其中为学习修正率, 。另外由式(3.4),可得到: 。 3.2 BP网络的MATLAB实现建立BP神经网络模型的核心,是反映多对多关系的网络的建立,这里主要环节有三个:建立网络、训练网络和利用网络进行仿真,Matlab软件包为我们提供了大量的函数,其中就有实现上述功能的函数:1.网络的初步建立网络仿真的第一步就是要搭建网络框架,以便为下一步用实际数据进行网络训练打下基础,建立BP网络的函数为newff(),调用格式如下:newff(minmax(p),n,k,tansig,logsig,traingdx)2. 训练网络第二步,就是用实际历史数据训练网络

25、,以便研究对象之间的多对多关系,用来完成此项功能的函数为train(),调用格式如下:net=train(net,p,t)3.仿真与使用网络最后,就是利用训练好的网络进行分析研究,给出网络输入,研究网络输出,进行仿真预测,完成该功能的函数为sim(net,testp),调用格式如下:y=sim(net,testp)3.3 样本数据处理利用2010.12-2012.12安徽某烟草企业实际数据,建立反映烟草物流企业各资源动因、作业中心,按地区核算的服务产品成本之间的非线性映射关系的神经网络。网络中输入层节点个数:作业中心为三个,所以输入层为3;隐含层结点数可以由程序调节。这里的网络输入数据就是25

26、个月有关物流费用科目的月发生额。为了避免不同量级数据差异带来的训练网络所造成的误差,在进行网络训练、仿真时都将有关数据首先进行“标准化”处理。 训练网络时,输入输出是对应的,与对网络输入处理一样,也是利用2010.12-2012.12安徽某烟草企业实际数据,建立反映烟草物流企业,各资源动因、作业中心,按地区核算的服务产品成本之间的非线性映射关系的神经网络将训练网络的有关输出数据同样做“标准化”处理。下文重点研究的是各地区物流成本受各物流费用科目的影响研究,所以输出数据是25个月按地区核算(A地区、B地区、C地区)的各地区当月物流成本数据,见表2。3.4 网络建立与仿真用上述处理思想,建立一个N

27、KM的 BP网络,分别利用Matlab中的函数NEWFF()、train()、,sim()建立、训练和仿真网络。6利用本文所选安徽某烟草公司2010.12-2012.12,25个月数据训练网络,并进行模拟计算分析,这里隐层和输出层传递函数分别取tansig和logsig,定义训练步数为2000,目标误差为0.03,训练过程见下图2,由图可见,利用我们所选的参数进行网络训练,收敛很快,网络最终仿真误差极小。最大相对误差在3%以内。说明本文建立的神经网络具有很好的仿真能力,完全可以利用它进行物流企业成本费用分析研究,也就是说,该模型能非常有效地仿真物流企业各相关指标之间的非线性关系。图2 神经网络

28、系统训练过程经过用2010.12-2012.12年安徽某烟草企业物流数据的模拟计算可以看出神经网络系统的仿真值与原始模糊评价数据比较接近,除个别点外,仿真误差在3%以内,图2为系统训练过程,可见网络迭代收敛很快。图3为25个月三个地区实际成本与网络模拟成本对比,可见两条曲线几乎重合,网络仿真结果非常好;为了更进一步观察网络仿真效果,图4列出三个成本误差曲线,可见误差曲线都在0点附件,仿真效果非常理想。图3 A、B、C成本 神经网络仿真结果图4 A B C成本的仿真误差3.5 分析不同地区物流成本的影响因素通过上面分析可见,本文所建ABC神经网络模型具有非常好的仿真效果,为了分析不同费用科目对地

29、区物流成本的影响,这里以各科目25月平均值为基础,采取单项分别变化的办法构造网络输入数据,让一个科目发生额增加和减少平均值的10%,其他科目采取平均值,考查网络输出的三个成本变化,分析结果如下:当运输费分别增加和减少平均成本的10%,A地区的物流成本有显著的同方向变化,其归一化成本值由0.57,分别变为0.88,0.32,B和C地区的物流成本略有下降,说明运输费与A地区物流成本呈正相关、与B地区及C地区物流成本呈负相关。当仓储费分别增加和减少平均成本的10%时,B和C地区的物流成本有明显同方向变化,其归一化成本值分别由0.858和0.266,分别变为0.985,0.278和0.531,0.23

30、2 ;A地区物流成本与仓储费呈现反方向变化,其归一化成本值由0.57,分别变为0.454,0.883;说明仓储费与B和C地区物流成本呈正相关、与A地区物流成本呈负相关。当装卸费分别增加和减少平均成本的10%时,C地区的物流成本有明显同方向变化,其归一化成本值分别由0.266,分别变为0.592,0.244 ,A和B地区物流成本呈现反方向变化;说明装卸费C地区物流成本呈正相关、与A地区和B地区物流成本呈负相关。当其它间接物流费用发生变化时,对三各地区物流成本影响无论是量还是方向都不是太固定,这是由于,相比较运输费用、仓储费用和装卸费用,这些间接费用都比较小。就成本控制而言,要想降低A地区物流成本

31、,就要合理安排和控制运输费用,适当增加和调整库存;对B地区而言,要适当增加运输费用,减少库存费用;对C地区而言,要严格控制装卸费用,适当增加库存费用。4. 结束语本文基于作业成本法建立了烟草物流企业成本分析模型,为了分析方便灵活,建立了BP神经网络模型,并用安徽某烟草物流企业2010.122012.12期间25个月实际物流发生费用对网络进行了训练和仿真预测,取得了令人满意的效果。本文所用模型、原理和方法,可以推广到物流行业及其他行业。参考文献1扈景科.烟草行业物流现状与改革措施J.衡水学院学报,2008,10(5):22-232魏国辰,杨莉.我国物流企业服务管理现状与对策研究J.物流技术.20

32、12,31(2).165-1683楼前飞,严伟.浅析我国第三方物流的发展现状及对策J.物流技术,2005,11:25-274邵铁柱,吴丹丹.作业成本法成本动因在高新技术企业中的应用J.北方经贸,2012(6):112-1145左杰.作业成本法在物流企业中的应用研究D.天津财经大学.20076杨君岐等.基于模糊神经网络仿真顾客饮料口味的评价模型构建J.中国酿造.2006,6:.37-41作业简介:杨君岐(1962-),男,陕西省岐山县人,陕西科技大学管理学院教授,硕士,主要从事经济学与电子商务研究;邹松庆(1987-),女,山东省烟台市人,陕西科技大学企业管理硕士研究生,硕士,主要从事经济学、电

33、子商务的研究;联系方式:陕西省西安市未央区陕西科技大学849信箱 HYPERLINK mailto: ,邮编710021 附录资料:不需要的可以自行删除c语言典型问题处理方法小结循环问题(1)、数论问题1、求素数 for(i=2;i1,如果它仅有平凡约数1和a,则我们称a为素数(或质数)。整数 1 被称为基数,它既不是质数也不是合数。整数 0 和所有负整数既不是素数,也不是合数。 2、求最大公约数和最小公倍数a、 if(ab) t=a; a=b; b=t; for(i=a;i=1;i-) if(a%i=0&b%i=0) break; printf(largest co

34、mmon divisor:%dn,i); printf(least common multiple:%dn,(a*b)/is);b、辗转相除法求解 a1=a; b1=b; while(a%b!=0) t=a%b; a=b; b=t; printf(largest common divisor:%dnleast common multiple:%d,b,a1*b1/b);3、求完数 一个数如果恰好等于它的因子之和,这个数就称为“完数”。 例如:6的因子为1、2、3,而6123,因此6是“完数”。for(a=1;a=1000;a+) s=0; for(i=1;i=a) break; if(s=a)

35、 printf(%dt,a);注意S=0所放的位置 4、分解质因数 将一个整数写成几个质因数的连乘积,如: 输入36,则程序输出36=2*2*3*3 。解一、看似简单,但要自己完整地写出来还真不容易!竟然还动用了goto语句,正好可以熟悉一下goto语句的用法!main() int a,z,i; clrscr(); scanf(%d,&a);判断下一个数开始有要重新从2开始了。所以用loop语句回到for语句,这是for语句仍从2初始化。从2开始的原则不变,变的是a的值。 loop: for(z=2;z=a;z+)判断是否为质数for(i=2;i=z;i+) if(z%i=0) break;判

36、断是否为a的质因数 if(z=i) if(a%z=0) k+; if(k=1) printf(%d=%d,a1,z);用计数器来解决每行输入不同的问题。 else printf(*%d,z); a/=z; goto loop; 解二:main() int n, k=2, isfirst=1; printf(Input n=); scanf(%d,&n); while(k=n) if(n%k=0) if(isfirst) printf(%d=%d, n, k); isfirst=0; else printf(*%d,k); n/=k; else k+; printf(n);5、从键盘输入两个整数

37、,输出这两个整数的商的小数点后所有1000位整数 for(i=1;i=2;i-) if(fm%i=0&fz%i=0) fz/=i; fm/=i; z=fz/fm; fzx=fz%fm; if(fzx=0) printf(%d%d/%d-%d%d/%d=%dn,z1,fz1,fm1,z2,fz2,fm2,z); else if(z=0) printf(%d%d/%d-%d%d/%d=%d/%dn,z1,fz1,fm1,z2,fz2,fm2,fzx,fm); else printf(%d%d/%d-%d%d/%d=%d%d/%dn,z1,fz1,fm1,z2,fz2,fm2,z,fzx,fm);(

38、2)近似问题1、书P122习题4-6注意千万不要忘记添加#include “math.h”#include math.hmain() float x,j=1,k,s,so; int n; scanf(%f,&x); s=x; so=x+1; for(n=1;fabs(s-so)1e-6;n+) for(k=1;k1e-6) x=(x1+x2)/2; f=x*x*x+4*x*x-10;可以用/*if(f*f10) x2=x; else x1=x; printf(%fn,x);(3)枚举法(4)数列问题二、数组问题(1)排序问题1、从小到大排序main() int a10,i,j,t; for(i

39、=0;i10;i+) scanf(%d,&ai); for(i=1;i10;i+) for(j=0;jaj+1) t=aj+1;aj+1=aj;aj=t; for(i=0;i10;i+) printf(%d ,ai); printf(n);注意排序问题:1、须迅速,熟练,无差错经常插入在程序中间2、现使用最大数下沉冒泡法还可以使用最小数上浮冒泡法3、j控制前面一个数和后面一个数一一比较。由于是最大数下沉,i+1后j仍要从0开始。4、i控制这样的操作一共要做多少次5、注意i j的控制次数2、从大到小排序main()现使用最大数上浮冒泡法还可使用最小数下沉冒泡法 int a10,i,j,t; fo

40、r(i=0;i10;i+) scanf(%d,&ai); for(i=1;i=i;j-) if(ajaj-1) t=aj-1; aj-1=aj; aj=t; for(i=0;i10;i+) printf(%d ,ai);(2)二维数组三、字符或字符串输入输出问题(1)字符打印1、打印*此类题的溯源为书P122 4.11(1),其他题都是它的拓展 for (i=1;i=n;i+) 一共要输出的行数 for(j=1;j=i;j+) 每行要打印的*数 printf(*); printf(n); a、*解题要点:此类题关键在于找到每行要打印的个数和行数的关系。此题j=i j=n-i+1b、* for(

41、i=1;i=n;i+) 一共要输出的行数 for(j=1;j=n-i;j+) 控制空格数 printf( ); for(k=1;k=i;k+) 每行要打印的*数 printf(*); printf(n); c、 * * *解题要点:在出现空格的时候,在找到每行要打印的*个数和行数的关系后,还应找到空格和行数的关系,分不同的参数进行循环。此题k=i j=n-i j=i-1k=n-i+1d、* * for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf( ); for(k=1;k=2*i-1;k+) printf(*); printf(n); * *e、 * * * fo

42、r(i=1;i=n-1;i+) for(j=1;j=i;j+) printf( ); for(k=1;k=2*(n-1-i)+1;k+) printf(*); printf(n); for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf( ); for(k=1;k=2*i-1;k+) printf(*); printf(n); * * * * * *2、打印9*9乘法表解题要点:注意寻找行与列的规律。i*ji代表列j代表行for(i=1;i=9;i+) for(j=1;j=9;j+) printf(%-3d ,i*j); 注意输出格式的控制 printf(n); 3、

43、九九乘法表1 2 3 4 5 6 7 8 92 4 6 8 10 12 14 16 183 6 9 12 15 18 21 24 27 9 18 27 36 45 54 63 72 814、杨晖三角形11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 11 6 15 20 15 6 1(2)字符串打印问题for(i=1;i=7;i+) ai1=1; aii=1; for(i=3;i=7;i+) for(j=2;j=i-1;j+) aij=ai-1j-1+ai-1j; gets(a); puts(a); for(i=1;i0;j-) aj=aj-1; a0=t; for(k

44、=0;k=a&ai=z) ai-=32; puts (a);3、逆序输出gets (a); c=strlen(a); for(i=0;i=0;i-) 蓝色部分可以简写为绿色部分coutai-1;4、如输入:ab1 3,;z 输出:ab1注意点:1、= =2、while语句的使用处体会3、全面考虑问题 3,;zgets(a); while(a0= ) for(i=0;ai!=0;i+) ai=ai+1; for(i=0;ai!=0;i+)if(ai= &ai+1!= ) printf(n); else if(ai= &ai+1= ) for(k=i;ak!=0;k+) ak+1=ak+2; i-

45、; elseprintf(%c,ai);5、输入3个字符串,按从小到大排序输出这3个字符串。 使用一个两维数组贮存多个字符串char a8181;注意:如何使用一个两维数组贮存多个字符串 int i,j; for(i=0;i3;i+) gets(ai); for(i=0;i3;i+) puts(ai);注意:1、scanf(%d%s,&n,str) 其中%s为字符串格式2、逐个给字符串赋值的方法见书140页。 不可for(i=0;ai!=0;i+)3、stri=stri-A+10;4、pow函数5、任何进制转为十进制的方法6、输入一个整数n和一个字符串str,计算并输出n进制数str的值。 如

46、输入:7 16则输出:13(16)7=(13)10如输入:16 3A则输出:58(3A)16=(58)10#include stdio.h#include math.hmain() char str81; int n,i,s=0,t; clrscr(); scanf(%d%s,&n,str); for(i=0;stri!=0;i+) if(stri=A) stri=stri-A+10; else stri=stri-0; t=strlen(str); for(i=0;stri!=0;i+) s+=strt-i-1*pow(n,i); printf(%d,s);编写程序,将一个十进制正整数转换成

47、十六进制数。 注意类比#include main()char a20;int x,i=0,j;clrscr();scanf(%d,&x);while(x) if(x%16=10&x%16=0;j-)printf(%c,aj);printf(n);7、输入一个字符串,将其中的缩写形式展开,并输出展开后的该字符串。所谓展开缩写形式就是将其中由大小写字母或数字构成的形如a-f、U-Z、3-8 的形式展开成为 abcdef 、UVWXYZ 、345678,若出现f-a、A-7、9-5等形式则不予理睬。例如: 输入:qwe246e-hA-d$-%4-7A-Dz-xp-R4-0输出:qwr246efghA

48、-d$-%4567ABCDz-xp-R4-0main() char a81; int i,c,s,k,t; gets(a); for(i=0;ai!=0;i+) if(ai=-) if(ai-1=A&ai+1=a&ai+1=0&ai+1i;k-)ak+c-2=ak;as-1+c-2+1=0; for(;i=t;i+) ai=ai-1+1; puts(a);补充:循环:求:a+aa+aaa+.的值#includevoid main()int a,n,i=1,sn=0,tn=0;coutinput a and nan;while(i=n)tn=tn+a;sn+=tn;a*=10;i+;coutth

49、e answer is snendl;两个乒乓球队进行比赛,各出3人。甲队为A,B,C;已对是X,Y,Z;已经抽签决定比赛名单。有人向队员大厅比赛的名单。A说他不和X比,C说他不和X,Z比。请编程序找出3对赛手的名单。#includevoid main()char i,j,k;for(i=X;i=Z;i+)for(j=X;j=Z;j+)if(i!=j)for (k=X;k=Z;k+)if(i!=k&j!=k)if(i!=X&k!=X&k!=Z)coutA-i B-j C-kendl;枚举口袋中有红,黄,蓝,白,黑5种颜色的球若干。每次从口袋中任意取出3歌,问得到3种不同颜色球的可能取法,输出每种排列的情况。#include#include /在C语言中不用加这句void main()enum colorred ,yellow ,blue,white, black;color pri;int i,j,k,n=0,loop;for(i=red;i=black;i+)for(j=red;j=black;j+)if(i!=j)for (k=red;k=black;k+)if(k!=i)&(k!=j)n+;coutsetw(3)n; /setw是输出格式的限定for(loop=1;loop=3;loop+)switch(loop)case 1:pri=color(i);break;c

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论