程序设计基础C离线作业答案2017浙江大学远程教育学院_第1页
程序设计基础C离线作业答案2017浙江大学远程教育学院_第2页
程序设计基础C离线作业答案2017浙江大学远程教育学院_第3页
程序设计基础C离线作业答案2017浙江大学远程教育学院_第4页
程序设计基础C离线作业答案2017浙江大学远程教育学院_第5页
已阅读5页,还剩26页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

1浙江大学远程教育学院程序设计基础(C)课程作业姓名袁洋学号717129012012年级2017春学习中心紫金港校区第章语言的基本构成由ADD、MAIN、SCANF、PRINTF函数组成,调用了SCANF、PRINTF两个系统函数。保留字INT、RETURN。自定义标识符ADD、A、B、C、X、Y、Z。第章输入输出程序设计1用PRINTF输出一个中空的五角星。INCLUDEVOIDMAINPRINTF“N“PRINTF“N“PRINTF“N“PRINTF“N“PRINTF“N“PRINTF“N“PRINTF“N“PRINTF“N“PRINTF“N“PRINTF“N“PRINTF“N“PRINTF“N“2仿照例子22,定义一个字符数组,从键盘输入一字符串,然后输出的程序。INCLUDEVOIDMAINCHARCHARSHUZ202PUTSGETSCHARSHUZ3从键盘输入十六进制整数,转化为八进制数输出。INCLUDEVOIDMAININTSHILIUSCANF“X“,PRINTF“ON“,SHILIU4只定义两个整型数据并赋值,实现两个整型数的互换。INCLUDEVOIDMAININTA,B,SWAPSCANF“D,D“,PRINTF“AD,BDN“,A,BSWAPAABBSWAPPRINTF“AD,BDN“,A,B5从键盘上输入一个整数,分别输出8、16进制数的程序。INCLUDEVOIDMAININTASCANF“D“,PRINTF“OXN“,A,A6从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。INCLUDEVOIDMAININTINTEGERDOPRINTF“请输入一个三个数“SCANF“D“,IFINTEGER1000PRINTF“请重新输入,N“WHILEINTEGER1000PRINTF“输入的整数为D,百位为D,十位为D,个位为D。N“,INTEGER,INTEGER/100,INTEGER100/10,INTEGER1001037以下程序输出结果是()。INCLUDEVOIDMAININTI010,J10PRINTF“D,DN“,I,J程序输出结果为9,108运行程序,屏幕提示“您是一个学生吗”,您输入Y或N进行回答,屏幕输出您的选项。INCLUDEVOIDMAINCHARQPRINTF“AREYOUASTUDENTY/NN“SCANF“C“,IFQY|QYPRINTF“GOODGOODSTUDYN“ELSEIFQN|QNPRINTF“WORKHARDN“9从键盘输入一个角度X,求10SINX的值。INCLUDEINCLUDEINTMAINFLOATXSCANF“F“,PRINTF“SUMISFN“,10SINX第章循环程序设计1以下FOR语句的循环次数是多少INTI,J3FORIJI,JPRINTF“D“,IFOR语句的循环次数为3次2下面的语句显示输出6行6列的整数数组H的主对角线上的所有元素,请补充完整FORINTI0IVOIDMAININTA102,4,0,5,10,6,8,9,6,7INTI,COUNT0FORI0IVOIDMAININTA102,4,0,5,10,6,8,9,6,7,TMP,KFORK0KVOIDMAININTI,JFORI0IVOIDMAIN5INTI,SI1S0WHILEIVOIDMAININTI,SI1S0WHILEIVOIDMAININTI,SI1S0WHILEIVOIDMAININTI,SI1S0WHILEIVOIDMAININTI1,SWHILEIVOIDMAININTI1,S0WHILEIINTMAININTJISHU,SUM1,IDOPRINTF“请输入一个奇数“SCANF“D“,WHILEJISHU20FORI1IINTMAININTI,J,NUM,SUM0,JIEC1/JIEC存放单个阶乘的值,SUM存放所以的阶乘和DODOPRINTF“请输入一个5到10之间的整数“SCANF“D“,WHILENUM10FORI1IINTMAINCHARI,JFORI0IVOIDMAININTI,SUM0FORI2IVOIDMAININTI,SUM0FORI2IVOIDMAINCHARCCCINTNUM0WHILECCCGETCHARNIFCCCADOSCANF“D“,IFX0PRINTF“D的绝对值为DN“,X,XELSEIFXVOIDMAININTX0,LAST0WHILE1PRINTF“请输入X值“SCANF“D“,IFX0BREAKIFXLASTPRINTF“X比相邻数大D“,XLASTX3将输入字符的大写字符转换成小写字符输出,小写字符原样输出。INCLUDEVOIDMAINCHARSWHILESGETCHARNIFSAINTXIAOXIE_CHAR0,DAXIE_CHAR0,SHUZ_CHAR0,OTHERS0WHILESGETCHARNIFSASCANF“D“,IFX1PRINTF“XD,YDN“,X,Y6根据输入的百分制按五分制的成绩输出。百分制与五分制之间的关系见下表。百分制五分制901005808947079360692VOIDMAININTBAIFEN,WUFENPRINTF“请输入百分制成绩“SCANF“D“,WUFENBAIFEN/10SWITCHWUFENCASE10CASE9PRINTF“相对应的5分制5N“BREAKCASE8PRINTF“相对应的5分制4N“BREAKCASE7PRINTF“相对应的5分制3N“BREAKCASE611PRINTF“相对应的5分制2N“BREAKDEFAULTPRINTF“相对应的5分制1N“7、用SWITCH完成读入一个实数X,再输入一整数,若输入是1,则计算SINX,若输入2,则计算COSX,若输入3,则计算TANX,若输入其他值,则显示错误信息。INCLUDEINCLUDEVOIDMAINFLOATXINTZPRINTF“PLEASEINPUTAREALNUMBER“SCANF“F“,PRINTF“PLEASEINPUTAINTEGER“SCANF“D“,SWITCHZCASE1PRINTF“5FN“,SINXBREAKCASE2PRINTF“5FN“,COSXBREAKCASE3PRINTF“5FN“,TANXBREAKDEFAULTPRINTF“DATEERRORN“8、用SWITCH完成输入星期1到星期5,输出它们对应的颜色星期1BLUE星期2RED星期3WHITE星期4YELLOW星期5GREENINCLUDE12VOIDMAININTIPRINTF“PLEASEINPUTADATEN“SCANF“D“,SWITCHICASE1PRINTF“星期一BLUEN“BREAKCASE2PRINTF“星期二REDN“BREAKCASE3PRINTF“星期三WHITEN“BREAKCASE4PRINTF“星期四YELLOWN“BREAKCASE5PRINTF“星期五GREENN“BREAKDEFAULTPRINTF“N“9、用SWITCH完成从键盘输入A、B、C、D四个等级中的一个,转化输出等级输出A优秀B良好C中等D及格E不及格INCLUDEVOIDMAINCHARIPRINTF“PLEASEINPUTACHARN“SCANF“C“,SWITCHICASEAPRINTF“优秀N“BREAKCASEB13PRINTF“良好N“BREAKCASECPRINTF“中等N“BREAKCASEDPRINTF“及格N“BREAKCASEEPRINTF“不及格N“BREAKDEFAULTPRINTF“DETEERROR“第章数组及其应用从键盘输入12个数,分别为900,2,3,58,34,76,87,72,90,20,78,30,找出最大和最小数。INCLUDEVOIDMAININTSHUZU12900,2,3,58,34,76,87,72,90,20,78,30,I,MAXSHUZU0,MINSHUZU0FORI0IMAXMAXSHUZUIELSEIFSHUZUIVOIDMAININTI,A102,3,20,58,72,76,78,87,90,900FORI0IDEFINESIZE1014VOIDMAININTASIZE2,3,20,58,72,76,78,87,90,900,I,J,LOW0,HIGHSIZE1ILOWHIGH/2WHILEHIGHLOWIFAI87HIGHIILOWHIGH/2ELSEBREAKFORJIJFLOATAVERINTAINTK,SUM0FLOATAVEFORK0KVOIDABCCHARSTRINTA,B15FORAB0STRA0AIFSTRACSTRBSTRASTRB0INTMAINCHARSTR“ABCDEF“ABCSTRPRINTF“STRS“,STRRETURN0提示数组STR的首地址传递给形参STR,STRA就是实参中的数组元素STRA,当数组元素不为C时进行复制。程序运行的结果为STRABDEF3写出以下程序的执行结果。INCLUDEINTSORTINTB,INTN,INTXINTKFORKN1K0KIFBKINTFUNINTXINTPIFX0|X1RETURN3ELSEPXFUNX2RETURNPINTMAINPRINTF“ND“,FUN9RETURN0提示FUN99FUN7,FUN13程序运行的结果为75写出以下程序的执行结果,并说明其作用是什么INCLUDEINTFINTNIFN10FN/10PRINTF“D“,N8RETURN0INTMAINF1234PRINTF“N“RETURN0提示在函数F中,程序运行借助了堆栈,依次入栈的数据分别为1234、123、12,最后N1,N对8取余输出,然后数据依次出栈对8取余输出。程序运行的结果为1432作用10进制转换为8进制二、程序设计171编写一个函数,计算X的N次的平方。提示FORY1,I0IINTFINTX,INTZINTSUM1,IFORI0IINTSUMINTA6,INTX,INTYINTSUM0,I,JFORI0IINCLUDEINTINVERTCHARSTRINTN,ICHARTEMPNSTRLENSTRFORI0IINCLUDEINCLUDECHARFUNCCHARSTR,INTM,INTNIFSTRLENSTR0CHARSSS30SCANF“S“,SSSFORI0,J0SSSIIIFSSSI0IFN1_SUM1ELSE_SUMNSUMN120RETURN_SUMVOIDMAININT_SUM,NDOPRINTF“PLEASEINPUTANUM1“SCANF“D“,WHILENINTXVOIDFUNPRINTF“D“,XVOIDMAININTX1EXTERNINTXPRINTF“D,“,XFUN提示在函数FUN中及语句块EXTERNINTXPRINTF“D,“,X中使用的X是外部变量,在语句块IFX1INTX2PRINTF“D,“,X中使用的是刚刚定义X2的变量。程序的执行结果为1,12写出以下程序的执行结果。INCLUDEINTKKINTX421STATICINTYY5X2Y2RETURNXYVOIDMAININTJ,S0FORJ0JINTTINTX0STATICINTY4YXRETURNXYVOIDMAINPRINTF“DN“,T,T提示语句PRINTF“DN“,T,T中T,T属于“,”号表达式,即两次调用函数T,在函数T中,Y为静态内部变量,因而语句STATICINTY4只执行一次。程序的执行结果为7第章文件1下述程序从终端读入文本(用作为文本结束标志)复制到一个名为OUTDAT的新文件中,请补全程序。INCLUDEINTMAINFILEFPCHARCXIFFPFOPENOUTDAT,WNULLRETURN0WHILECXGETCHARFPUTCCX,FPFCLOSEFPRETURN122提示第1个空格是打开文件读,第2个空格是关闭文件。2下面的程序用来统计文件中字符的个数,请补全程序。INCLUDEINTMAINFILEFPLONGNUM0IFFPFOPEN“FNAMEDAT“,“R“NULLPRINTF“CANTOPENFILEN“EXIT0WHILEFEOFFPFGETCFPNUMPRINTF“NUMDN“,NUMFCLOSEFPRETURN1提示第1个空格表示文件没有结束,循环将持续。以下程序由终端键盘输入一个文件名,然后把从终端键盘输入的字符,依次存放到该文件中,用作为结束输入的标志,请补全程序。INCLUDEVOIDMAINFILEFPCHARCH,FNAME10PRINTF“INPUTTHENAMEOFFILEN“GETSFNAMEIFFPFOPEN“FNAME10“,“W“NULLPRINTF“CANNOTOPENN“EXIT0PRINTF“ENTERDATAN“WHILECHGETCHARFPUTCCH,FPFCLOSEFP提示文件名是从键盘读入的,因而文件名是用变量表示的,文件是打开写。4下述程序从一个二进制文件中读入结构体数据,并把读出的数据显示在屏幕上。请补全程序。INCLUDESTRUCTRECINTAFLOATBVOIDRECOUTFILEFPSTRUCTRECRDOFREAD23IFFEOFFPBREAKPRINTF“D,F“,RA,RBWHILE1VOIDMAINFILEFPFPFOPEN“FILEDAT“,“RB“RECOUTFPFCLOSEFP提示在FREAD语句中,1中为存放所读出结构数据的内存地址,当然此数据是赋给变量R,2中是读出结构体变量数据的个数,3是与循环中止有关的判断,4为中止循环。从键盘输入一个字符串,并逐个将字符串的每个字符传送到磁盘文件“L1TXT“中,字符串的结束标记为“。INCLUDEINCLUDEINTMAINFILEFPCHARCHIFFPFOPEN“11TXT“,“W“NULLPRINTF“CANNOTOPENTHISFILEN“EXIT0WHILECHGETCHARFPUTCCH,FPFCLOSEFPRETURN0有一文本文件L1TXT,请编写一个程序将文件中的英文字母及数字字符显示在屏幕上。INCLUDEINCLUDEINTMAINFILEFPCHARCHIFFPFOPEN“11TXT“,“R“NULLPRINTF“CANNOTOPENTHISFILEN“EXIT0WHILEFEOFFPIFCHFGETCFPALONGNUM0INTI0,T0CHARCHCHARDATA1000IFFPFOPEN“L1TXT“,“R“NULLPRINTF“CANTOPENFILEN“WHILEFEOFFPCHFGETCFPDATAICHIDATAI0FCLOSEFPIFFP1FOPEN“L2TXT“,“W“NULLPRINTF“CANTOPENFILEN“FORT0TINCLUDEINCLUDEINTMAINFLOATYINTXCHARCHFILEFPIFFPFOPEN“16TXT“,“W“NULLPRINTF“FILECANTOPENN“EXIT0FORX0X0PRINTF“F“,YFCLOSEFPRETURN0第章指针与数组程序阅读与填空题1分析下列程序,输出结果是(11,2500000)。INCLUDEVOIDMAININTP1,X10FLOATP2,Y25P1P2PRINTF“D,FN“,P1,P2提示都作用在内容上,前一项是先再输出,后一项是先输出再。2下列程序输出结果是(1,4)。INCLUDEVOIDMAININTA1,2,3,4,5,6,PAPRINTF“D,DN“,P,P3提示语句P32指P3的地址上的内容加2,然后输出P及P3的地址上内容。3下列程序输出结果是(P1,X3,Y5)。INCLUDEVOIDMAININTA1,2,3,4,5,6INTX,Y,PPXP2YP4PRINTF“PD,XD,YDN“,P,X,Y提示P2是指INTPPAPRINTF“D,N“,PPRINTF“D,N“,PPRINTF“D,N“,PPRINTF“D,N“,PP3PRINTF“D,DN“,P,A3提示P、P都表示指针P向大地址方向移动,然后再取内容,要注意的是后一语句的输出受前一语句的影响。程序输出结果为10,20,30,30,50,405下列程序输出的结果是(STRABDEF)。INCLUDEVOIDDELCHARSTRINTA,BFORAB0STRA0AIFSTRACSTRBSTRASTRB0VOIDMAINCHARSTR“ABCDEF“DELSTRPRINTF“STRS“,STR提示在函数DEL中STRA地址上的内容不为字符C时不复制,实际上是指删除指针STR所指的字符串中的字符C。6以下程序输出的结果是(AGAAGAG)。INCLUDEINCLUDEVOIDFUNCHARW,INTMCHARS,P1,P2P1WP2WM1WHILEP1VOIDMAININTA332,0,8,4,6INTI,PFORI0IAMIDLOWMID1ELSERETURNMIDRETURN1提示用LOW、HIGH、MID分别表示数组A低地址端、高地址端、中间元素的下标,只要低地址端下标小于高地址端下标循环一直持续,如果中间元素大于所查找的数,表示所查找的数在以LOW、HIGH为边界的左侧,如果中间元素小于所查找的数,表示所查找的数在以LOW、HIGH为边界的右侧,如都不是表示已找到。9下述函数从一个数组V中删除值为KEY的元素。数组的元素个数由指针N指明,请填空。28VOIDDELNODEDOUBLEV,INTNINTI,J,K1FORIN1I0IIFVIKEYKFORJIJ0NNK提示由于在第1个FOR循环中为I,因而循环一定是从数组下标最大的元素N1开始,循环的条件是I0,如果找到要删除的元素,后面的元素依次向前移,一直移到最后VN1,K标记删除的次数,N存放最后数组中元素的个数。二、编程题1用指针的方法编写一函数,交换从键盘读入的两个整型数A,B。提示VOIDSWAPINTP1,INTP2INTTEMPTEMPP1P1P2P2TEMPINCLUDEVOIDSWAPINTP1,INTP2INTTEMPTEMPP1P1P2P2TEMPVOIDMAININTA,B,P1,P2SCANF“DD“,P1P2SWAPP1,P2PRINTF“AD,BDN“,A,B2编写一函数V

温馨提示

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

评论

0/150

提交评论