C语言程序设计实验与习题答案.doc_第1页
C语言程序设计实验与习题答案.doc_第2页
C语言程序设计实验与习题答案.doc_第3页
C语言程序设计实验与习题答案.doc_第4页
C语言程序设计实验与习题答案.doc_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

22程序填空程序填空(1)以下程序的功能是计算150之间能被7整除的整数之和。#includevoidmain()intisum=0for(i=150i+)if(i%7=0)sum+=iprintf(sum=%dnsum)(2)下面程序接收来自键盘的输入,直到输入+Z(值为-1)键为止。这些字符被原样输出,但若有连续一个以上的空格时只输出一个空格。请填空。#includevoidmain()charcxcharfront=while(cx=getchar()!=n)if(cx!=)putchar(cx)if(cx=)if(front!=)putchar(cx)front=cx33程序改错程序改错(1)下列程序的功能是求1+3+5+99的和。#includevoidmain()intsiints=0ii=1while(i=1e-6)pi=pi+tn=n+2s=-st=snpi=pi4printf(pi=%10.6fnpi)方法(2)次数控制#include#includemain()intslongtimesfloatntpit=1pi=0n=1.0s=1for(times=1times=1e-6)pi=pi+tn=n+2s=-st=snpi=pi4printf(pi=%10.6fnpi)方法(2)次数控制#include#includemain()intslongtimesfloatntpit=1pi=0n=1.0s=1for(times=1times1e-6i+)t=(double)ie+=tprintf(e=%fne)2.a10=xbreakak=x附:算法简析main()intxijk感觉似乎j定义了没什么作用inta11=8182838485868788898printf(请输入需要插入的一个整数:)scanf(%dx)a10=x把x放到数据串最末位置for(i=0i=0j-)4.#include#includeintisprime(intx)intk=sqrt(x)for(k1k-)if(x%k=0)return0returnxvoidsort(intaintx)intiktfor(i=0ihigh)printf(nThisdatacantbefoundinthedatabase!)elseprintf(nThisdataisintheposition%dmid)gotoxy(7+3(mid+1)-223)putchar(25)voidinsert(intaintn)intxkiprintf(nPLeaseadatatobeinserted:)scanf(%dx)an=xfor(i=0i=ap-)p=ap-)if(p%2=0)sum+if(p%2=0)if(p%2=0)sum+sum+printf(共有%d个偶数sum)2程序填空程序填空(1)以下程序的功能是利用指针找出3个整数中的最小数。#includevoidmain()intp1p2p3minxyzp1=xp2=yp3=zprintf(pleasethreeinteger:)scanf(%d%d%dp1p2p3)min=p1if(p1p2)min=p2if(minp3)min=p3printf(min=%dnmin)(2)以下程序利用指向函数的指针实现函数调用,完成可选择的加减乘除运算。#include定义函数addintadd(intxinty)printf(%d+%d=xy)returnx+y定义函数subintsub(intxinty)printf(%d-%d=xy)returnx-y定义函数multintmult(intxinty)printf(%d%d=xy)returnxy定义函数devintdev(intxinty)printf(%d%d=xy)returnxyvoidmain()int(funp)(intint)charopintxyprintf(Pleaseintputtheexpressiona+(-)b:n)scanf(%dx)scanf(%cop)scanf(%dy)(op)switchcase+:funp=breakaddcase-:funp=subbreakcase:funp=multbreakcase:funp=devbreakdefault:printf(Operatorisillegaln)printf(%dn(xy)funp3程序改错程序改错(1)以下程序的功能是:输入3个整数,按由小到大的顺序输出。#includevoidmain()inti1i2i3intp1p2p3voidswap(intint)voidswap(intint)printf(Pleaseenterthreeinteger:n)scanf(%d%d%di1i2i3)scanf(%d%d%di1i2i3)p1=i1p2=i2p3=i3p1=i1p2=i2p3=i3if(i1i2)swap(p1p2)if(i1i3)swap(p1p3)if(i2i3)swap(p2p3)printf(paixuhoudeshu:%d%d%dni1i2i3)voidswap(intpintq)inttt=pp=qq=t(2)下列程序的功能是利用自定义函数计算一无符号整数各位数字的乘积。#includeunsignedf(unsignednum)unsigneds=1pp=sp=sdos=s(num%10)num=10while(num)returnpvoidmain()unsignedxpprintf(x=:n)scanf(%dx)p=f(x)printf(%dp)printf(%dp)4设计性实验设计性实验(1)编程一函数,其功能是求一个长正整数各位数字之和。要求使用指针函数实现结果的返回。在主函数中进行测试。例如在主函数中输入348762,输出结果应为为30即348762的和。方法一:利用指向函数的指针方法一:利用指向函数的指针intsum(longn)利用递归求和unsignedlongxif(n10)x=nelsex=sum(n10)+n%10return(x)voidmain()longxint(f)(long)f=sumscanf(%ldx)printf(%df(x)方法二:利用指针函数方法二:利用指针函数仿照第仿照第3)题改错()题改错(2)#includeunsignedf(longnum)unsigneds=0pp=sdos=s+(num%10)num=10while(num)returnpvoidmain()unsignedplongxprintf(x=:n)scanf(%ldx)p=f(x)printf(%dp)(2)编程一函数求两个整数的最大公约数,要求使用指针函数实现结果的返回。在主函数中调用此函数进行测试。两个整数由键盘输入。方法一:利用指向函数的指针方法一:利用指向函数的指针intmcf(intaintb)inttempwhile(b)temp=a%ba=bb=tempreturnavoidmain()intxyint(f)(intint)f=mcfscanf(%d%dxy)

温馨提示

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

评论

0/150

提交评论