度:中
━━━━━━━━━━━━━━━━ 功能:根据整型形参 m,计算某一数据项的值。
y=1/(100*100)+1/(200*200)+1/(300*300)+ …… +1/(m*m)
例如:若m = 2000,则应输出: 0.000160。
并在主程序中输出排序结果。
------------------------------------------------*/ #include
int fun(int array[], int n) {
/**********Program**********/ ------------------------------------------------------ #include
/**********FOUND**********/ fun ( int m ) {
double y = 0, d ; int i ;
/**********FOUND**********/ for( i = 100, i <= m, i += 100 ) {
d = (double)i * (double)i ;
/**********FOUND**********/ y += 1.0 \\ d ; }
return( y ) ; }
main( ) {
int n = 2000 ;
printf( \result is %lf\\n\fun ( n ) ) ;
} =======(答案1)======= double fun ( int m )
=======(答案2)======= for( i = 100; i <= m; i += 100 ) =======(答案3)======= y += 1.0 / d ;
━━━━━━━━━━━━━━━━ 三、程序设计共1题(共计40分)难度:中
━━━━━━━━━━━━━━━━ 功能:编写函数fun对主程序中用户输入的具有10个数据的数组a按由大到小排序,
/********** End **********/ }
main() {
int a[10],i; printf(\请输入数组a中的十个数:\\n\
for (i=0;i<10;i++) scanf(\ fun(a,10);
printf(\由大到小的排序结果是:\\n\ for (i=0;i<10;i++) printf(\ printf(\ }
答案:---------------------- int k,j,t;
for (k=0;k t=array[k]; array[k]=array[j]; array[j]=t; } 试卷编号:8609 ━━━━━━━━━━━━━━━━ 一、程序填空共1题(共计30分)难度:中 ━━━━━━━━━━━━━━━━ 功能:输出两个整数中大的那个数,两个整数由键盘输入。 ------------------------------------------------------ #include #include int *p1,*p2; /***********SPACE***********/ p1=【?】malloc(sizeof(int)); p2=(int*)malloc(sizeof(int)); /***********SPACE***********/ scanf(\【?】,p2); if(*p2>*p1) *p1=*p2; free(p2); /***********SPACE***********/ printf(\【?】); } =======(答案1)======= (int *) =======(答案2)======= p1 =======(答案3)======= *p1 ━━━━━━━━━━━━━━━━ 二、程序改错共1题(共计30分)难度:易 ━━━━━━━━━━━━━━━━ 功能:编写函数fun计算下列分段函数的值: x*x+x x<0且x≠-3 f(x)= x*x+5x 0≤x<10且x≠2及x≠3 x*x+x-1 其它 ------------------------------------------------------ #include /**********FOUND**********/ double y /**********FOUND**********/ if (x<0 ||x!=-3.0) y=x*x+x; else if(x>=0 && x<10.0 && x!=2.0 && x!=3.0) y=x*x+5*x; else y=x*x+x-1; /**********FOUND**********/ return x; } main() { double f; float x; printf(\ scanf(\ f=fun(x); printf(\ } =======(答案1)======= float y; =======(答案2)======= if (x<0 && x!=-3.0) =======(答案3)======= return y; ━━━━━━━━━━━━━━━━ 三、程序设计共1题(共计40分)难度:难 ━━━━━━━━━━━━━━━━ 功能:编写函数fun求sum=d+dd+ddd+??+dd...d(n个d),其中d为1-9的数字。 例如:3+33+333+3333+33333(此时d=3,n=5),d和n在主函数中输入。 ------------------------------------------------*/ #include /**********Program**********/ /********** End **********/ } main() { int d,n; long sum,fun(); printf(\ scanf(\ printf(\ scanf(\ sum=fun(d,n); printf(\} 答案:---------------------- long int s=0,t=0; int i; for(i=1;i<=n;i++) { t=t+d; s=s+t; d=d*10; } return s; 试卷编号:8610 ━━━━━━━━━━━━━━━━ 一、程序填空共1题(共计30分) 难度:中 ━━━━━━━━━━━━━━━━ 功能:计算并输出500以内最大的10个能被13或17整除的自然数之和。 ------------------------------------------------------- #include /***********SPACE***********/ int fun(【?】 ) { int m=0, mc=0; /***********SPACE***********/ while (k >= 2 &&【?】) { /***********SPACE***********/ if (k == 0 || 【?】) { m=m+k; mc++; } k--; } /***********SPACE***********/ 【?】; } main ( ) { printf(\} =======(答案1)======= int k =======(答案2)======= mc < 10 =========或========= 10 > mc =========或========= mc <= 9 =========或========= 9 >= mc =======(答案3)======= k == 0 =========或========= !(k) =========或========= k/17*17 == k =======(答案4)======= return m =========或========= return (m) ━━━━━━━━━━━━━━━━ 二、程序改错共1题(共计30分) ━━━━━━━━━━━━━━━━ 难度:易 功能:编写一个程序模拟袖珍计算器的加、减、乘、除四则运算。例如:输入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(\} =======(答案1)======= scanf(\ =======(答案2)======= while((operate1=getchar())!='=') =======(答案3)======= switch(operate1) ━━━━━━━━━━━━━━━━ 三、程序设计共1题(共计40分)难度:中 ━━━━━━━━━━━━━━━━ 功能:求一个n位自然数的各位数字的积。(n 是小于10的自然数) #include /**********Program**********/ /********** End **********/ } main() { long m; printf(\ scanf(\ printf(\} 答案:---------------------- long d,s=1; while (n>0) {d=n; s*=d; n/=10; } return s; 试卷编号:8611 ━━━━━━━━━━━━━━━━ 一、程序填空共1题(共计30分)难度:中 ━━━━━━━━━━━━━━━━ 题目:下列给定程序中,函数fun的功能是计算下式如\图片1\直到如\图片2\,并将计算结果作为函数值返回。 例如:若形参e的值为1e-3,函数的返回值为2.985678。 double fun(double e) { int i; double s, x; s=0; /***********SPACE***********/ i=【?】; x=1.0; while(x>e) { /***********SPACE***********/ 【?】; /***********SPACE***********/ x=(2.0*i-1)/(【?】); s=s+x;
相关推荐: