-程序改错部分试题及答案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第1题/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。------------------------------------------------------*/#includestdio.h#defineN11main(){inti,number,a[N]={1,2,4,6,8,9,12,15,149,156};printf(pleaseenteranintegertoinsertinthearray:\n);/**********FOUND**********/scanf(%d,&number)printf(Theoriginalarray:\n);for(i=0;iN-1;i++)printf(%5d,a[i]);printf(\n);/**********FOUND**********/for(i=N-1;i=0;i--)if(number=a[i])/**********FOUND**********/a[i]=a[i-1];else{a[i+1]=number;/**********FOUND**********/exit;}if(numbera[0])a[0]=number;printf(Theresultarray:\n);for(i=0;iN;i++)printf(%5d,a[i]);printf(\n);}第2题/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:求如下表达式:111S=1+——+———+......+———————1+21+2+31+2+3+......+n------------------------------------------------------*/#includestdio.hmain(){intn;doublefun();printf(Pleaseinputanumber:);/**********FOUND**********/print(%d,n);printf(%10.6f\n,fun(n));}/**********FOUND**********/fun(intn){inti,j,t;doubles;s=0;/**********FOUND**********/while(i=1;i=n;i++);{t=0;for(j=1;j=i;j++)t=t+j;/**********FOUND**********/=s+1/t;}returns;}第3题/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:判断m是否为素数,若是返回1,否则返回0。------------------------------------------------------*/#includestdio.h/**********FOUND**********/voidfun(intn){inti,k=1;if(m=1)k=0;/**********FOUND**********/for(i=1;im;i++)/**********FOUND**********/if(m%i=0)k=0;/**********FOUND**********/returnm;}intmain(){intm,k=0;for(m=1;m100;m++)if(fun(m)==1){printf(%4d,m);k++;if(k%5==0)printf(\n);}}第4题/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:用下面的和式求圆周率的近似值。直到最后一项的绝对值小于等于0.0001。π111—=1-—+—-—+...4357------------------------------------------------------*/#includestdio.h/**********FOUND**********/#includestdlib.hfun(){inti=1;/**********FOUND**********/ints=0,t=1,p=1;/**********FOUND**********/while(fabs(t)=1e-4){s=s+t;p=-p;i=i+2;t=p/i;}/**********FOUND**********/printf(pi=%d\n,s*4);}main(){fun();}第5题/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:求1到20的阶乘的和。------------------------------------------------------*/#includestdio.hfun(){intn,j;floats=0.0,t=1.0;for(n=1;n=20;n++){/**********FOUND**********/s=1;for(j=1;j=n;j++)/**********FOUND**********/t=t*n;/**********FOUND**********/s+t=s;}/**********FOUND**********/printf(jiecheng=%d\n,s);}main(){fun();}第6题/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:输出Fabonacci数列的前20项,要求变量类型定义成浮点型,输出时只输出整数部分,输出项数不得多于或少于20。------------------------------------------------------*/#includestdio.hfun(){inti;floatf1=1,f2=1,f3;/**********FOUND**********/printf(%8d,f1);/**********FOUND**********/for(i=1;i=20;i++){f3=f1+f2;/**********FOUND**********/f2=f1;/**********FOUND**********/f3=f2;printf(%8.0f,f1);}printf(\n);}main(){fun();}第7题/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线上的元素之和sum。------------------------------------------------------*/#includestdio.hvoidfun(){inta[3][3],sum;inti,j;/**********FOUND**********/a=0;for(i=0;i3;i++)for(j=0;j3;j++)/**********FOUND**********/scanf(%d,a[i][j]);for(i=0;i3;i++)/**********FOUND**********/sum=sum+a[i][j];/**********FOUND**********/printf(sum=%f\n,sum);}main(){fun();}第8题/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:找出大于m的最小素数,并将其作为函数值返回。------------------------------------------------------*/#includemath.h#includestdio.hintfun(intm){inti,k;for(i=m+1;;i++){/**********FOUND**********/for(k=1;ki;k++)/**********FOUND**********/if(i%k!=0)break;/**********FOUND**********/if(ki)/**********FOUND**********/returnk;}}main(){intn;scanf(%d,&n);printf(%d\n,fun(n));}第9题/*------------------------------------------------------/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:有一数组内放10个整数,要求找出最小数和它的下标,然后把它和数组中最前面的元素即第一个数对换位置.------------------------------------------------------*/#includestdio.hmain(){inti,a[10],min,k=0;printf(\npleaseinputarray10elements\n);for(i=0;i10;i++)/***********FOUND***********/scanf(%d,a[i]);for(i=0;i10;i++)printf(%d,a[i]);min=a[0];/***********FOUND***********/for(i=3;i10;i++)/***********FOUND***********/if(a[i]min){min=a[i];k=i;}/***********FOUND***********/a[k]=a[i];a[0]=min;printf(\naftereschange:\n);for(i=0;i10;i++)printf(%d,a[i]);printf(\nk=%d\nmin=%d\n,k,min);}第10题/*------------------------------------------------------【程序改错】--------------------------------------------------------功能:一个已排好序的一维数组,输入一个数number

1 / 10
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功