C语言程序设计课后习题答案谭浩强_第1页
C语言程序设计课后习题答案谭浩强_第2页
C语言程序设计课后习题答案谭浩强_第3页
C语言程序设计课后习题答案谭浩强_第4页
C语言程序设计课后习题答案谭浩强_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

第1章程序设计和C语言111什么是计算机程序112什么是计算机语言113C语言的发展及其特点314最简单的C语言程序5141最简单的C语言程序举例6142C语言程序的结构1015运行C程序的步骤与方法1216程序设计的任务1415INCLUDEINTMAINPRINTF“NN“PRINTF“VERYGOODNN“PRINTF“N“RETURN016INCLUDEINTMAININTA,B,C,MAXPRINTF“PLEASEINPUTA,B,CN“SCANF“D,D,D“,MAXAIFMAXINCLUDEINTMAINFLOATP,R,NR01N10PPOW1R,NPRINTF“PFN“,PRETURN0321INCLUDEINCLUDEINTMAINFLOATR5,R3,R2,R1,R0,P,P1,P2,P3,P4,P5P1000R500585R30054R200468R100414R000072P1P1R55/一次存5年期P2P12R213R3/先存2年期,到期后将本息再存3年期P3P13R312R2/先存3年期,到期后将本息再存2年期P4PPOW1R1,5/存1年期,到期后将本息存再存1年期,连续存5次P5PPOW1R0/4,45/存活期存款。活期利息每一季度结算一次PRINTF“P1FN“,P1/输出按第1方案得到的本息和PRINTF“P2FN“,P2/输出按第2方案得到的本息和PRINTF“P3FN“,P3/输出按第3方案得到的本息和PRINTF“P4FN“,P4/输出按第4方案得到的本息和PRINTF“P5FN“,P5/输出按第5方案得到的本息和RETURN0322INCLUDEINCLUDEINTMAINDOUBLER5,R3,R2,R1,R0,P,P1,P2,P3,P4,P5P1000R500585R30054R200468R100414R000072P1P1R55/一次存5年期P2P12R213R3/先存2年期,到期后将本息再存3年期P3P13R312R2/先存3年期,到期后将本息再存2年期P4PPOW1R1,5/存1年期,到期后将本息存再存1年期,连续存5次P5PPOW1R0/4,45/存活期存款。活期利息每一季度结算一次PRINTF“P1FN“,P1/输出按第1方案得到的本息和PRINTF“P2FN“,P2/输出按第2方案得到的本息和PRINTF“P3FN“,P3/输出按第3方案得到的本息和PRINTF“P4FN“,P4/输出按第4方案得到的本息和PRINTF“P5FN“,P5/输出按第5方案得到的本息和RETURN0323INCLUDEINCLUDEINTMAINFLOATR5,R3,R2,R1,R0,P,P1,P2,P3,P4,P5P1000R500585R30054R200468R100414R000072P1P1R55/一次存5年期P2P12R213R3/先存2年期,到期后将本息再存3年期P3P13R312R2/先存3年期,到期后将本息再存2年期P4PPOW1R1,5/存1年期,到期后将本息存再存1年期,连续存5次P5PPOW1R0/4,45/存活期存款。活期利息每一季度结算一次PRINTF“P1102FN“,P1/输出按第1方案得到的本息和PRINTF“P2102FN“,P2/输出按第2方案得到的本息和PRINTF“P3102FN“,P3/输出按第3方案得到的本息和PRINTF“P4102FN“,P4/输出按第4方案得到的本息和PRINTF“P5102FN“,P5/输出按第5方案得到的本息和RETURN033INCLUDEINCLUDEINTMAINFLOATD300000,P6000,R001,MMLOG10P/PDR/LOG101RPRINTF“M62FN“,MRETURN034INCLUDEINTMAININTC1,C2C1197C2198PRINTF“C1C,C2CN“,C1,C2PRINTF“C1D,C2DN“,C1,C2RETURN035INCLUDEINTMAININTA,BFLOATX,YCHARC1,C2SCANF“ADBD“,SCANF“FE“,SCANF“CC“,PRINTF“AD,BD,XF,YF,C1C,C2CN“,A,B,X,Y,C1,C2RETURN036INCLUDEINTMAINCHARC1C,C2H,C3I,C4N,C5AC1C14C2C24C3C34C4C44C5C54PRINTF“PASSWORISCCCCCN“,C1,C2,C3,C4,C5RETURN037INCLUDEINTMAINFLOATH,R,L,S,SQ,VQ,VZFLOATPI3141526PRINTF“请输入圆半径R,圆柱高H“SCANF“F,F“,/要求输入圆半径R和圆柱高HL2PIR/计算圆周长LSRRPI/计算圆面积SSQ4PIRR/计算圆球表面积SQVQ30/40PIRRR/计算圆球体积VQVZPIRRH/计算圆柱体积VZPRINTF“圆周长为L62FN“,LPRINTF“圆面积为S62FN“,SPRINTF“圆球表面积为SQ62FN“,SQPRINTF“圆球体积为V62FN“,VQPRINTF“圆柱体积为VZ62FN“,VZRETURN0381INCLUDEINTMAININTC1,C2/整型定义PRINTF“请输入两个整数C1,C2“SCANF“D,D“,PRINTF“按字符输出结果N“PRINTF“C,CN“,C1,C2PRINTF“按ASCII码输出结果为N“PRINTF“D,DN“,C1,C2RETURN0382INCLUDEINTMAINCHARC1,C2/定义字符型变量INTI1,I2/定义整型变量PRINTF“请输入两个字符C1,C2“SCANF“C,C“,I1C1/赋值给整型变量I2C2PRINTF“按字符输出结果N“PRINTF“C,CN“,I1,I2PRINTF“按整数输出结果N“PRINTF“D,DN“,C1,C2RETURN0383INCLUDEINTMAINCHARC1,C2/定义为字符型INTI1,I2/定义为整型PRINTF“请输入两个整数I1,I2“SCANF“D,D“,C1I1/将整数赋值给字符变量C2I2PRINTF“按字符输出结果N“PRINTF“C,CN“,C1,C2PRINTF“按整数输出结果N“PRINTF“D,DN“,C1,C2RETURN038INCLUDEINTMAINCHARC1,C2PRINTF“请输入两个字符C1,C2“C1GETCHARC2GETCHARPRINTF“用PUTCHAR语句输出结果为“PUTCHARC1PUTCHARC2PRINTF“N“PRINTF“用PRINTF语句输出结果为“PRINTF“CCN“,C1,C2RETURN0第4章选择结构程序设计8541选择结构和条件判断8542用IF语句实现选择结构87421用IF语句处理选择结构举例87422IF语句的一般形式8943关系运算符和关系表达式91431关系运算符及其优先次序91432关系表达式9244逻辑运算符和逻辑表达式92441逻辑运算符及其优先次序93442逻辑表达式94443逻辑型变量9645条件运算符和条件表达式9746选择结构的嵌套9947用SWITCH语句实现多分支选择结构10248选择结构程序综合举例105习题111441INCLUDEINTMAININTA,B,CPRINTF“请输入三个整数“SCANF“D,D,D“,IFAINTMAININTA,B,C,TEMP,MAXPRINTF“请输入三个整数“SCANF“D,D,D“,TEMPABAB/将A和B中的大者存入TEMP中/MAXTEMPCTEMPC/将A和B中的大者与C比较,取最大者/PRINTF“三个整数的最大数是DN“,MAXRETURN0452INCLUDEINCLUDEDEFINEM1000INTMAININTI,KPRINTF“请输入一个小于D的整数I“,MSCANF“D“,WHILEIMPRINTF“输入的数不符合要求,请重新输入一个小于D的整数I“,MSCANF“D“,KSQRTIPRINTF“D的平方根的整数部分是DN“,I,KRETURN045INCLUDEINCLUDEDEFINEM1000INTMAININTI,KPRINTF“请输入一个小于D的整数I“,MSCANF“D“,IFIMPRINTF“输入的数不符合要求,请重新输入一个小于D的整数I“,MSCANF“D“,KSQRTIPRINTF“D的平方根的整数部分是DN“,I,KRETURN046INCLUDEINTMAININTX,YPRINTF“输入X“SCANF“D“,IFX10/Y3X11PRINTF“XD,Y3X11DN“,X,YRETURN0471INCLUDEINTMAININTX,YPRINTF“ENTERX“SCANF“D“,Y1IFX0IFX0Y1ELSEY0PRINTF“XD,YDN“,X,YRETURN0472INCLUDEINTMAININTX,YPRINTF“PLEASEENTERX“SCANF“D“,Y0IFX0IFX0Y1ELSEY1PRINTF“XD,YDN“,X,YRETURN048INCLUDEINTMAINFLOATSCORECHARGRADEPRINTF“请输入学生成绩“SCANF“F“,WHILESCORE100|SCOREINCLUDEINTMAININTNUM,INDIV,TEN,HUNDRED,THOUSAND,TEN_THOUSAND,PLACE位,万位和位数PRINTF“请输入一个整数099999“SCANF“D“,IFNUM9999PLACE5ELSEIFNUM999PLACE4ELSEIFNUM99/分别代表个位,十位,百位,千PLACE3ELSEIFNUM9PLACE2ELSEPLACE1PRINTF“位数DN“,PLACEPRINTF“每位数字为“TEN_THOUSANDNUM/10000THOUSANDINTNUMTEN_THOUSAND10000/1000HUNDREDINTNUMTEN_THOUSAND10000THOUSAND1000/100TENINTNUMTEN_THOUSAND10000THOUSAND1000HUNDRED100/10INDIVINTNUMTEN_THOUSAND10000THOUSAND1000HUNDRED100TEN10SWITCHPLACECASE5PRINTF“D,D,D,D,D“,TEN_THOUSAND,THOUSAND,HUNDRED,TEN,INDIVPRINTF“N反序数字为“PRINTF“DDDDDN“,INDIV,TEN,HUNDRED,THOUSAND,TEN_THOUSANDBREAKCASE4PRINTF“D,D,D,D“,THOUSAND,HUNDRED,TEN,INDIVPRINTF“N反序数字为“PRINTF“DDDDN“,INDIV,TEN,HUNDRED,THOUSANDBREAKCASE3PRINTF“D,D,D“,HUNDRED,TEN,INDIVPRINTF“N反序数字为“PRINTF“DDDN“,INDIV,TEN,HUNDREDBREAKCASE2PRINTF“D,D“,TEN,INDIVPRINTF“N反序数字为“PRINTF“DDN“,INDIV,TENBREAKCASE1PRINTF“D“,INDIVPRINTF“N反序数字为“PRINTF“DN“,INDIVBREAKRETURN04101INCLUDEINTMAININTIDOUBLEBONUS,BON1,BON2,BON4,BON6,BON10BON110000001BON2BON11000000075BON4BON2100000005BON6BON4100000003BON10BON64000000015PRINTF“请输入利润I“SCANF“D“,IFIINTMAININTIDOUBLEBONUS,BON1,BON2,BON4,BON6,BON10INTBRANCHBON110000001BON2BON11000000075BON4BON2200000005BON6BON4200000003BON10BON64000000015PRINTF“请输入利润I“SCANF“D“,BRANCHI/100000IFBRANCH10BRANCH10SWITCHBRANCHCASE0BONUSI01BREAKCASE1BONUSBON1I1000000075BREAKCASE2CASE3BONUSBON2I200000005BREAKCASE4CASE5BONUSBON4I400000003BREAKCASE6CASE7CASE8CASE9BONUSBON6I6000000015BREAKCASE10BONUSBON10I1000000001PRINTF“奖金是102FN“,BONUSRETURN0411INCLUDEINTMAININTT,A,B,C,DPRINTF“请输入四个数“SCANF“D,D,D,D“,PRINTF“AD,BD,CD,DDN“,A,B,C,DIFABTAABBTIFACTAACCTIFADTAADDTIFBCTBBCCTIFBDTBBDDTIFCDTCCDDTPRINTF“排序结果如下N“PRINTF“DDDDN“,A,B,C,DRETURN0412INCLUDEINTMAININTH10FLOATX12,Y12,X22,Y22,X32,Y32,X42,Y42,X,Y,D1,D2,D3,D4PRINTF“请输入一个点X,Y“SCANF“F,F“,D1XX4XX4YY4YY4/求该点到各中心点距离/D2XX1XX1YY1YY1D3XX2XX2YY2YY2D4XX3XX3YY3YY3IFD11/判断该点是否在塔外/PRINTF“该点高度为DN“,HRETURN0第5章循环结构程序设计11451为什么需要循环控制11452用WHILE语句实现循环11553用DOWHILE语句实现循环11754用FOR语句实现循环12055循环的嵌套12456几种循环的比较12557改变循环执行的状态125571用BREAK语句提前终止循环126572用CONTINUE语句提前结束本次循环127573BREAK语句和CONTINUE语句的区别12858循环程序举例131习题14052INCLUDEINCLUDE/程序中用到数学函数FABS,应包含头文件MATHNINTMAININTSIGN1,COUNT0/SIGN用来表示数值的符号,COUNT用来统计循环次数DOUBLEPI00,N10,TERM10/PI开始代表多项式的值,最后代表的值,N代表分母,TERM代表当前项的值WHILEFABSTERM1E8/检查当前项TERM的绝对值是否大于或等于10的6次方PIPITERM/把当前项TERM累加到PI中NN2/N2是下一项的分母SIGNSIGN/SIGN代表符号,下一项的符号与上一项符号相反TERMSIGN/N/求出下一项的值TERMCOUNT/COUNT累加1PIPI4/多项式的和PI乘以4,才是的近似值PRINTF“PI108FN“,PI/输出的近似值PRINTF“COUNTDN“,COUNT/输出循环次数RETURN053INCLUDEINTMAININTP,R,N,M,TEMPPRINTF“请输入两个正整数N,M“SCANF“D,D,“,IFNINTMAINCHARCINTLETTERS0,SPACE0,DIGIT0,OTHER0PRINTF“请输入一行字符N“WHILECGETCHARNIFCAPRINTF“A,N“SCANF“D,D“,WHILEIINTMAINDOUBLES0,T1INTNFORN1NINTMAININTN1100,N250,N310DOUBLEK,S10,S20,S30FORK1KINTMAININTI,J,K,NPRINTF“PARCISSUSNUMBERSARE“FORN100NINTMAININTK1,K2,K3,K4,K5,K6,K7,K8,K9,K10INTI,A,N,SFORA2A1PRINTF“D,D“,K1,K2/N1表示A至少有2个因子/IFN2PRINTF“,D“,K3/N2表示至少有3个因子,故应再输出一个因子/IFN3PRINTF“,D“,K4/N3表示至少有4个因子,故应再输出一个因子/IFN4PRINTF“,D“,K5/以下类似/IFN5PRINTF“,D“,K6IFN6PRINTF“,D“,K7IFN7PRINTF“,D“,K8IFN8PRINTF“,D“,K9IFN9PRINTF“,D“,K10PRINTF“N“RETURN0592INCLUDEINTMAININTM,S,IFORM2MINTMAININTI,N20DOUBLEA2,B1,S0,TFORI1IINTMAINDOUBLESN100,HNSN/2INTNFORN2NINTMAININTDAY,X1,X2DAY9X21WHILEDAY0X1X212/第1天的桃子数是第2天桃子数加1后的2倍/X2X1DAYPRINTF“TOTALDN“,X1RETURN0513INCLUDEINCLUDEINTMAINFLOATA,X0,X1PRINTF“ENTERAPOSITIVENUMBER“SCANF“F“,X0A/2X1X0A/X0/2DOX0X1X1X0A/X0/2WHILEFABSX0X11E5PRINTF“THESQUAREROOTOF52FIS85FN“,A,X1RETURN0514INCLUDEINCLUDEINTMAINDOUBLEX1,X0,F,F1X115DOX0X1F2X04X03X06F16X08X03X1X0F/F1WHILEFABSX1X01E5PRINTF“THEROOTOFEQUATIONIS52FN“,X1RETURN0515INCLUDEINCLUDEINTMAINFLOATX0,X1,X2,FX0,FX1,FX2DOPRINTF“ENTERX1SCANF“F,F“,FX1X12X14X136FX2X22X24X236WHILEFX1FX20DOX0X1X2/2FX0X02X04X036IFFX0FX11E5PRINTF“X62FN“,X0RETURN0516INCLUDEINTMAININTI,J,KFORI0IINTMAINCHARI,J,K/是A的对手J是B的对手K是C的对手/FORIXIINCLUDEINTMAININTI,J,N,A101FORI1IINTMAININTI,J,MIN,TEMP,A11PRINTF“ENTERDATAN“FORI1IAJMINJTEMPAIAIAMINAMINTEMPPRINTF“NTHESORTEDNUMBERSN“FORI1IINTMAININTA33,SUM0INTI,JPRINTF“ENTERDATAN“FORI0IINTMAININTA111,4,6,9,13,16,19,28,40,100INTTEMP1,TEMP2,NUMBER,END,I,JPRINTF“ARRAYAN“FORI0IENDA10NUMBERELSEFORI0INUMBERTEMP1AIAINUMBERFORJI1JDEFINEN5INTMAININTAN,I,TEMPPRINTF“ENTERARRAYAN“FORI0IDEFINEN10INTMAININTI,J,ANNFORI0IINTMAININTA1515,I,J,K,P,NP1WHILEP1PRINTF“ENTERNN115“SCANF“D“,IFN0JJ1ELSEIFINJ1IFAIJ0AIJKELSEII2JJ1AIJKFORI1IDEFINEN4DEFINEM5/数组为4行5列/INTMAININTI,J,K,ANM,MAX,MAXJ,FLAGPRINTF“PLEASEINPUTMATRIXN“FORI0IMAXMAXAIJ/将本行的最大数存放在MAX中/MAXJJ/将最大数所在的列号存放在MAXJ中/FLAG1/先假设是鞍点,以FLAG为1代表/FORK0KAKMAXJ/将最大数和其同列元素相比/FLAG0/如果MAX不是同列最小,表示不是鞍点令FLAG1为0/CONTINUEIFFLAG/如果FLAG1为1表示是鞍点/PRINTF“ADDDN“,I,MAXJ,MAX/输出鞍点的值和所在行列号/BREAKIFFLAG/如果FLAG为0表示鞍点不存在/PRINTF“ITISNOTEXISTN“RETURN069INCLUDEDEFINEN15INTMAININTI,NUMBER,TOP,BOTT,MID,LOCA,AN,FLAG1,SIGNCHARCPRINTF“ENTERDATAN“SCANF“D“,I1WHILEIAI1IELSEPRINTF“ENTERTHISDATAAGAINN“PRINTF“N“FORI0IAN1/要查的数不在查找区间内LOCA1/表示找不到WHILESIGNCHARTEXT380UPPLOWDIGSPAOTH0FORI0IAINTI,J,KCHARSPACEFORI0IINTMAININTJ,NCHARCH80,TRAN80PRINTF“INPUTCIPHERCODE“GETSCHPRINTF“NCIPHERCODES“,CHJ0WHILECHJ0IFCHJACHARCH80PRINTF“INPUTCIPHERCODEN“GETSCHPRINTF“NCIPHERCODESN“,CHJ0WHILECHJ0IFCHJAINTI0,J0PRINTF“INPUTSTRING1“SCANF“S“,S1PRINTF“INPUTSTRING2“SCANF“S“,S2WHILES1I0IWHILES2J0S1IS2JS1I0PRINTF“NTHENEWSTRINGISSN“,S1RETURN0614INCLUDEINTMAININTI,RESUCHARS1100,S2100PRINTF“INPUTSTRING1“GETSS1PRINTF“NINPUTSTRING2“GETSS2I0WHILES1IS2IIFS1I0ELSERESUS1IS2IPRINTF“NRESULTDN“,RESURETURN0615INCLUDEINCLUDEINTMAINCHARS180,S280INTIPRINTF“INPUTS2“SCANF“S“,S2FORI0IINTMAININTHCFINT,INTINTLCDINT,INT,INTINTU,V,H,LSCANF“D,D“,HHCFU,VPRINTF“HCFDN“,HLLCDU,V,HPRINTF“LCDDN“,LRETURN0INTHCFINTU,INTVINTT,RIFVUTUUVVTWHILERUV0UVVRRETURNVINTLCDINTU,INTV,INTHRETURNUV/H712INCLUDEINTHCF,LCDINTMAINVOIDHCFINT,INTVOIDLCDINT,INTINTU,VSCANF“D,D“,HCFU,VLCDU,VPRINTF“HCFDN“,HCFPRINTF“LCDDN“,LCDRETURN0VOIDHCFINTU,INTVINTT,RIFVUTUUVVTWHILERUV0UVVRHCFVVOIDLCDINTU,INTVLCDUV/HCF72INCLUDEINCLUDEFLOATX1,X2,DISC,P,QINTMAINVOIDGREATER_THAN_ZEROFLOAT,FLOATVOIDEQUAL_TO_ZEROFLOAT,FLOATVOIDSMALLER_THAN_ZEROFLOAT,FLOATFLOATA,B,CPRINTF“INPUTA,B,C“SCANF“F,F,F“,PRINTF“EQUATION52FXX52FX52F0N“,A,B,CDISCBB4ACPRINTF“ROOTN“IFDISC0GREATER_THAN_ZEROA,BPRINTF“X1FTTX2FN“,X1,X2ELSEIFDISC0EQUAL_TO_ZEROA,BPRINTF“X1FTTX2FN“,X1,X2ELSESMALLER_THAN_ZEROA,BPRINTF“X1FFITX2FFIN“,P,Q,P,QRETURN0VOIDGREATER_THAN_ZEROFLOATA,FLOATBX1BSQRTDISC/2AX2BSQRTDISC/2AVOIDEQUAL_TO_ZEROFLOATA,FLOATBX1X2B/2AVOIDSMALLER_THAN_ZEROFLOATA,FLOATBPB/2AQSQRTDISC/2A

温馨提示

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

评论

0/150

提交评论