}
return -1; }
void main(void) {
int a[10]={1,2,3,4,5,6,7,8,9,10}; int b,c; b=4;
c=fun(a,10,b); if(c==1)
printf(\ else
printf(\}
答案: 1). low<=high 或 high>=low 2). high=mid-1 3). low= mid + 1 7、功能:计算圆周率的近似值。(π/4=1-1/3+1/5-1/7+…)
-------------------------------------------------------*/ #include
int s;
/***********SPACE***********/ float n,【?】; double t;
t=1;pi=0;n=1;s=1;
/***********SPACE***********/ while(【?】>=1e-6) {
pi+=t;n+=2;s=-s;t=s/n; }
/***********SPACE***********/ pi*=【?】;
printf(\}
2 pi fabs(t) 4
五、程序改错
1、功能:编写函数fun求20以内所有5的倍数之积。 #define N 20
#include \void main(void) {
int sum; sum=fun(5);
printf(\以内所有%d的倍数之积为: %d\\n\ getch(); }
int fun(int m) {
/**********FOUND**********/
int s=0,i; for(i=1;i /**********FOUND**********/ if(i%m=0) /**********FOUND**********/ 9 s=*i; return s; } 答案: 1). int s=1,i; 2). if(i%m==0) 或 if(!(i%m)) 3). s*=i; 或 s=s*i; 或 s=i*s; 2、功能:编写一个程序模拟袖珍计算器的加、减、乘、除四则运算。 例如:输入3+5=或5-2=或3*4=或4/2=,求表达式结果。 #include float x,y; char operate1; printf(\ /**********FOUND**********/ scanf(\ /**********FOUND**********/ while((operate1==getchar())!='=') { printf(\ scanf(\ /**********FOUND**********/ switch(y) { case '+': x+=y; break; case '-': x-=y; break; case '*': x*=y; break; case '/': x/=y; break; } } printf(\ getch(); return; } 答案: 1). scanf(\2). while((operate1=getchar())!='=') switch(operate1) 3、功能:编写函数求2!+4!+6!+8!+10+12!+14!。 #include \long sum(int n) { /**********FOUND**********/ int i,j long t,s=0; /**********FOUND**********/ for(i=2;i<=n;i++) { t=1; 10 3). for(j=1;j<=i;j++) t=t*j; s=s+t; } /**********FOUND**********/ return(t); } void main(void) { printf(\ getch(); } 答案: 1). int i,j; 2). for(i=2;i<=n;i=i+2) 或 for(i=2;i<=n;i+=2) 或 for(i=2;i<=n;i++,i++) 3). return(s); 或 return s; 或 return (s); 4、功能:找大于m的最小素数 #include for(i=m+1;;i++) /**********FOUND**********/ { for(k=2;k 答案: 1). <= 2). == 3). > 5、功能:统计出若干个学生的平均成绩,最低分以及得最低分的人数。 例如:输入10名学生的成绩分别为92,87,68,56,92,84,67, 75,92,66,则输出平均成绩为77.9,最低高分为56,得最低分 的人数为1人。 #include \float Min=0; int J=0; float fun(float array[],int n) { int i;float sum=0,ave; Min=array[0]; for(i=0;i if(Min>array [i]) Min=array [i]; /**********FOUND**********/ sum=+array [i]; } /**********FOUND**********/ ave=sum\\n; for(i=0;i /**********FOUND**********/ if(array [i]=Min) J++; return(ave); } 11 main( ) { float a[10],ave; int i=0; for(i=0;i<10;i++) scanf(\ ave=fun(a,10); printf(\ printf(\ printf(\ getch(); } sum+=array[i]; ave=sum/n; if(array [i]==Min) J++; 6、功能:一个已排好序的一维数组,输入一个数number,要求按原来 排序的规律将它插入数组中. main( ) { int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j; /***********FOUND***********/ for(i=0;i<=10;i++) printf(\ printf(\ scanf(\ /***********FOUND***********/ end=a[10]; if(number>end) /***********FOUND***********/ a[11]=number; else //是小于或等于最后那个数 { for(i=0;i<10;i++) { /***********FOUND***********/ if(a[i] temp1=a[i]; a[i]=number; for(j=i+1;j<11;j++) //后面所有的数后移一个位置 { temp2=a[j]; a[j]=temp1; temp1=temp2; } break; } } } for(i=0;i<11;i++) printf(\} for(i=0;i<10;i++) end=a[9]; a[10]=number; if(a[i]>number) 12