《程序设计 .docx》由会员分享,可在线阅读,更多相关《程序设计 .docx(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精品名师归纳总结试卷编号: 18337 所属语言: Turbo C 试卷方案: phq1试卷总分: 220 分共有题型: 1 种一、程序设计共 22 题 (共计 220 分) 第 1 题 ( 10.0 分)题号 :313/*-【程序设计】功能:调用函数fun 判定一个三位数是否 水仙花数 。在 main 函数中从键盘输入一个三位数,并输出判定结果。请编写fun 函数。说明:所谓 水仙花数 是指一 3 位数,其各位数字立方和等于该数本身。例如: 153 是一个水仙花数,由于153=1+125+27 。-*/#include stdio.hint funint n/*Program*/* End
2、*/mainint n,flag。scanf%d,&n。flag=funn。可编辑资料 - - - 欢迎下载精品名师归纳总结ifflagprintf%d是水仙花数 n,n。elseprintf%d不是水仙花数 n,n。getch。yzj。yzjFILE *IN,*OUT。int iIN,i。int iOUT。IN=fopenin.dat,r。ifIN=NULLprintfPlease Verify The Currernt Dir.It May Be Changed。OUT=fopenout.dat,w。ifOUT=NULLprintfPlease Verify The Current Dir
3、. It May Be Changed。fori=0。i10 。 i+fscanfIN,%d,&iIN。iOUT=funiIN。fprintfOUT,%dn,iOUT。fcloseIN。fcloseOUT。答案:int bw,sw,gw。bw=n/100 。sw=n-bw*100/10。gw=n%10。 ifn=bw*bw*bw+sw*sw*sw+gw*gw*gw return 1。else return 0。第 2 题 ( 10.0 分)题号 :395/*-【程序设计】功能:产生20 个30,120上的随机整数放入二维数组可编辑资料 - - - 欢迎下载精品名师归纳总结a54中,求其中的最小
4、值。-*/#include stdlib.h #include stdio.hint aminint a54/*Program*/* End */mainint a54,i,j。clrscr。fori=0。i5 。i+ forj=0。j4 。j+aij=random120-30+1+30。fori=0。i5 。i+forj=0。j4 。j+ printf%5d,aij。printfn。printfmin=%dn,amina。yzj。getch。yzjFILE *IN,*OUT。int m,n。int i54。int o。IN=fopenin.dat,r。可编辑资料 - - - 欢迎下载精品名师
5、归纳总结ifIN=NULLprintfRead File Error。OUT=fopenout.dat,w。ifOUT=NULLprintfWrite File Error。form=0。m5。m+ forn=0。n4 。n+fscanfIN,%d,&imn。o=amini。fprintfOUT,%dn,o。fcloseIN。fcloseOUT。答案:int i,j,s。s=a00。fori=0。i5 。i+ forj=0。jaijs=aij。returns。第 3 题 ( 10.0 分)题号 :22/*-【程序设计】功能:从键盘为一维整型数组输入 10 个整数,调用 fun 函数找出其中最小
6、的数,并在 main 函数中输出。请编写 fun 函数。-*/#include stdio.hint funint x,int n可编辑资料 - - - 欢迎下载精品名师归纳总结/*Program*/* End */mainint a10,i,min。 fori=0。i10 。 i+ scanf%d,&ai。fori=0。i10 。 i+ printf%3d,ai。printfn。min=funa,10。printf%dn,min。yzj。yzjFILE *IN,*OUT。int iIN10,i。int iOUT,iCOUNT。IN=fopen4.in,r。ifIN=NULLprintfPle
7、ase Verify The Currernt Dir.It May Be Changed。OUT=fopen4.out,w。ifOUT=NULLprintfPlease Verify The Current Dir. It May Be Changed。fori=0。i10 。 i+foriCOUNT=0。iCOUNT10。iCOUNT+fscanfIN,%d,&iINiCOUNT。可编辑资料 - - - 欢迎下载精品名师归纳总结iOUT=funiIN,10。fprintfOUT,%dn,iOUT。fcloseIN。fcloseOUT。答案:int min,i。min=x0。fori=1。i
8、n 。i+ifximin min=xi。 return min。第 4 题 ( 10.0 分)题号 :23/*-【程序设计】功能:从键盘输入一个大于3 的整数,调用函数fun 判定其是否素数,然后在main 函数中输出相应的结论信息。例如: 7 是素数, 8 不是素数。请编写fun 函数。素数是仅能被 1 和自身整除的数-*/#include stdio.hmainint m,flag。printfinput an integer:。scanf%d,&m。flag=funm。ifflagprintf%d is a prime.n,m。elseprintf%d is not a prime.n,
9、m。yzj。int funint n可编辑资料 - - - 欢迎下载精品名师归纳总结/*Program*/* End */yzjFILE *IN,*OUT。int iIN,iOUT,i。IN=fopen5.in,r。ifIN=NULLprintfPlease Verify The Currernt Dir.It May Be Changed。OUT=fopen5.out,w。ifOUT=NULLprintfPlease Verify The Current Dir. It May Be Changed。fori=0。i10 。 i+fscanfIN,%d,&iIN。iOUT=funiIN。fp
10、rintfOUT,%dn,iOUT。fcloseIN。fcloseOUT。答案:int i。int j。j= 1。fori=2。in 。i+ifn%i=0 j= 0。return j。可编辑资料 - - - 欢迎下载精品名师归纳总结第 5 题 ( 10.0 分)题号 :33/*-【程序设计】功能:用 do-while语句求 1 100 的累计和。-*/#includelong int funint n/*Program*/* End */void main int i=100。printf1100的累加和为: %ldn,funi。wwjt。wwjtFILE *IN,*OUT。int i。int
11、 iIN。long int iOUT。IN=fopenin.dat,r。ifIN=NULLprintfPlease Verify The Currernt Dir.It May Be Changed。OUT=fopenout.dat,w。ifOUT=NULLprintfPlease Verify The Current Dir. It May Be Changed。可编辑资料 - - - 欢迎下载精品名师归纳总结fori=0。i5 。i+fscanfIN,%d,&iIN。iOUT=funiIN。fprintfOUT,%ldn,iOUT。fcloseIN。fcloseOUT。答案: int i
12、=1, sum =0。do sum = sum + i。i+。 while i = n 。return sum。第 6 题 ( 10.0 分)题号 :56/*-【程序设计】功能:求 1 到 100 之间的偶数之积。-*/#include stdio.hdouble funint m/*Program*/可编辑资料 - - - 欢迎下载精品名师归纳总结/* End */mainprintfji=%fn,fun100。yzj。yzjFILE *IN,*OUT。int iIN,i。double dOUT。IN=fopen23.in,r。ifIN=NULLprintfPlease Verify The
13、 Currernt Dir.It May Be Changed。OUT=fopen23.out,w。ifOUT=NULLprintfPlease Verify The Current Dir. It May Be Changed。fori=0。i10 。 i+fscanfIN,%d,&iIN。dOUT=funiIN。fprintfOUT,%fn,dOUT。fcloseIN。fcloseOUT。答案:doubley=1。int i。fori=1。i=m 。i+ ifi%2=0y*=i。return y。第 7 题 ( 10.0 分)题号 :358可编辑资料 - - - 欢迎下载精品名师归纳总结/
14、*-【程序设计】功能:依据整型形参m,运算如下公式的值: y=1/5+1/6 1/7 1/8 1/9+1/10. 1/m+5例如:如 m=9,就应输出: 1.168229-*/#include stdio.hdouble funint m/*Program*/* End */mainint n。clrscr。 printfEnter n: 。scanf%d, &n。printfnThe result is %1fn, funn。getch。yzj。yzjFILE *IN,*OUT。int s,i。int t。float o。IN=fopenin.dat,r。ifIN=NULLprintfRea
15、d File Error。可编辑资料 - - - 欢迎下载精品名师归纳总结OUT=fopenout.dat,w。ifOUT=NULLprintfWrite File Error。fori=0。i5 。i+fscanfIN,%d,&t。o=funt。fprintfOUT,%fn,o。fcloseIN。fcloseOUT。答案:double y=0。int i。fori=0。 i10z=logx+3 x-3z=sinx/cosx+4-*/#include #includedouble yfloat x/*Program*/可编辑资料 - - - 欢迎下载精品名师归纳总结/* End */mainf
16、loat x。scanf%f,&x。printfy=%fn,yx。yzj。getch。yzjFILE *IN,*OUT。int n。float i。double o。IN=fopenin.dat,r。ifIN=NULLprintfRead File Error。OUT=fopenout.dat,w。ifOUT=NULLprintfWrite File Error。forn=0。n10 z=expx。else ifx-3 z=logx+3。可编辑资料 - - - 欢迎下载精品名师归纳总结else z=sinx/cosx+4。returnz。第 9 题 ( 10.0 分)题号 :390/*-【程序
17、设计】功能:编写函数求表达式的和(n 的值由主函数输入)。1-1/2+1/3-1/4+.+1/m例如:当 n=20 时, 表达式的值为 0.668771 。-*/#include stdio.hfloat sumint n/*Program*/* End */mainint n。scanf%d,&n。printfsum=%fn,sumn。yzj。getch。yzjFILE *IN,*OUT。int m,n。 int i10。float o。可编辑资料 - - - 欢迎下载精品名师归纳总结IN=fopenin.dat,r。ifIN=NULLprintfRead File Error。OUT=fo
18、penout.dat,w。ifOUT=NULLprintfWrite File Error。forn=0。n5 。n+ fscanfIN,%d,&in。forn=0。n5 。n+o = sumin。fprintfOUT,%fn,o。fcloseIN。fcloseOUT。答案:float s=0。int i,k=1。fori=1。i=n 。i+ s=s+k*1.0/i。k=-k。returns。第 10 题 ( 10.0 分)题号 :328/*-【程序设计】功能:能运算从1 开头到 n 的自然数的和,n 由键盘输入, 并在 main 函数中输出。-*/#include stdio.hint fu
19、nint n可编辑资料 - - - 欢迎下载精品名师归纳总结/*Program*/* End */mainint m。printfEnter m: 。scanf%d, &m。printfnThe result is %dn, funm。yzj。getch。yzjFILE *IN,*OUT。int t。int o。int c。 IN=fopenin.dat,r。ifIN=NULLprintfRead File Error。OUT=fopenout.dat,w。ifOUT=NULLprintfWrite File Error。forc=1。c=5。 c+fscanfIN,%d,&t。o=funt。
20、fprintfOUT,%dn,o。fcloseIN。可编辑资料 - - - 欢迎下载精品名师归纳总结fcloseOUT。答案:int sum,i。sum =0 。fori=1。i=n 。i+sum=sum+i 。 returnsum。第 11 题 ( 10.0 分)题号 :361/*-【程序设计】功能:把 20 个随机数存入一个数组,然后输出该数组中的最大值。-*/#include stdio.h #define VSIZE 20int vectorVSIZE。int funint list,int size/*Program*/* End */mainint i。clrscr。for i=0
21、。iVSIZE 。i+vectori=rand。printfVector%d=%6dn,i,vectori。可编辑资料 - - - 欢迎下载精品名师归纳总结i=funvector,VSIZE。printfnMaxnum: Vector%d=%6dn,i,vectori。NONO 。getch。NONOint i,t。FILE *fp。fp = fopenout.dat, w。for i=0。iVSIZE 。i+fprintffp,Vector%d=%6dn,i,vectori。t=funvector,VSIZE。fprintffp,nMaxnum: Vector%d=%6dn,t,vector
22、t。fclosefp。答案:int i,max=0。fori=1。 i size。 i+ iflistmaxlistimax=i 。return max。第 12 题 ( 10.0 分)题号 :353/*-【程序设计】功能:依据整型形参m,运算如下公式的值:y=1/2 1/4 1/6 . 1/2m 。例如:如 m=9,就应输出: 1.414484-*/#include stdio.h可编辑资料 - - - 欢迎下载精品名师归纳总结double funint m/*Program*/* End */mainint n。clrscr。 printfEnter n: 。scanf%d, &n。pri
23、ntfnThe result is %1fn, funn。yzj。getch。yzjFILE *IN,*OUT。int s,i。int t。float o。IN=fopenin.dat,r。ifIN=NULLprintfRead File Error。OUT=fopenout.dat,w。ifOUT=NULLprintfWrite File Error。fori=0。i5 。i+fscanfIN,%d,&t。o=funt。fprintfOUT,%fn,o。可编辑资料 - - - 欢迎下载精品名师归纳总结fcloseIN。fcloseOUT。答案:double y=0。int i。fori=1。
24、 i=m 。 i+y+=1.0/2*i。 returny。第 13 题 ( 10.0 分)题号 :406/*-【程序设计】功能:编写函数fun 运算以下分段函数的值:x2+x+6x0且 x -3fx= x2-5x+60x10且 x2及 x3 x2-x-1其它-*/#include stdio.hfloat funfloat x/*Program*/* End */main可编辑资料 - - - 欢迎下载精品名师归纳总结float x,f。 printfInput x=。scanf%f,&x。f=funx。printfx=%f,fx=%fn,x,f。getch。yzj。yzjFILE *IN,*
25、OUT。int n。float i。float o。IN=fopenin.dat,r。ifIN=NULLprintfRead File Error。OUT=fopenout.dat,w。ifOUT=NULLprintfWrite File Error。forn=0。n10。 n+fscanfIN,%f,&i。o=funi。fprintfOUT,%fn,o。fcloseIN。fcloseOUT。答案:float y。if x=0 & x10.0 & x.=2.0 & x.=3.0 y=x*x-5*x+6。else y=x*x-x-1。return y。可编辑资料 - - - 欢迎下载精品名师归纳
26、总结第 14 题 ( 10.0 分)题号 :411/*-【程序设计】功能:编写函数fun 将一个数组中的值按逆序存放,并在main函数中输出。例如:原先存次序为8,6,5,4,1。要求改为: 1,4,5,6,8。-*/#include stdio.h #define N 5mainint aN=8,6,5,4,1,i。fori=0。iN 。i+ printf%4d,ai。printfn。funa,N。fori=0。iN 。i+ printf%4d,ai。yzj。getch。int funint arr,int n/*Program*/* End */yzjFILE *IN,*OUT。可编辑资料
27、 - - - 欢迎下载精品名师归纳总结int n。int i10。int o。 IN=fopenin.dat,r。ifIN=NULLprintfRead File Error。OUT=fopenout.dat,w。ifOUT=NULLprintfWrite File Error。forn=0。n10。 n+fscanfIN,%d,&in。funi,10。forn=0。n10。 n+fprintfOUT,%dn,in。fcloseIN。fcloseOUT。答案:int i,t。fori=0。in/2 。 i+ t=arri。arri=arrn-1-i。arrn-1-i=t。第 15 题 ( 10.0 分)题号 :53/*-【程序设计】功能:求一个给定字符串中的字母的个数。-*/#include stdio.h可编辑资料 - - - 欢迎下载精品名师归纳总结int funchar s/*Program*/