1、例如a=3,n=6,则以上表达式为: s=333333-33333-3333-333-33-3 其值是296298。a和n是函数fun的形参,表达式的值作为函数值传回main函数。 请改正程序中的错误,使它能计算出正确的结果。不要改动main函数,不得增行或删行,也不得更改程序的结构。 long fun(int a,int n) int j; /*found*/ long s=0,t=1; for(j=0;jj+) t=t*10+a; s=t; for(j=1;n; /*found*/ t=t%10; s=s-t; return(s); main() int a,n; printf(nPlea
2、se enter a and n: scanf(%d%d,&a,&n);nThe value of function is %ldn, fun(a,n);(1)错误:long s=0,t=1; 正确:long s=0, t=0;(2)错误:for (j=0;j+) 正确:(3)错误:t=t%10;t=t/10; 第三十二套 请补允函数fun,该函数的功能是:计算并输出下列多项式的值。 例如,若主函数从键盘给n输入50后,则输出为S=1.960784。 请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填若干表达式或语句。 【1】 fun(int n) int i,j; doub
3、le sum=0.0,t; for(i=1;ii+) t=0.0; for(j=1;=i; t+=【2】; sum+=【3】; return sum; int n; double s;nInput n: s=fun(n);nns=%fnn,s);(1) double (2) j (3)1.0/t或(double)1/t根据整型形参m,计算如下公式的值。 例如,若m的值为5,则应输出:1.463611。 请改正程序中的错误,使它能得出正确的结果。 double fun (int m) double y=1.0; int i; for(i=2;m; y+=1/(i*i); return (y);
4、int n=5; system(nThe result is %1fn,fun(n);for (i=2;i+) for(i=2;=m;y+=1/(i*i) ;y+=1.0/(i*i) ; 第三十三套 程序的功能是计算。 请勿改动main函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。 long fun(int n) int I; long s; s=【1】; for(I=1; s=【2】; return s; int k,n; s=【3】; for(k=0;kk+) s=【4】;%ldn(1) 1 (2) s*i或i*s (3) 0 (4) s+fun(k) 数列中,第一项
5、为3,后一项都比前一项的值增5。下列给定程序中,函数fun的功能是:计算前项的累计和。在累加过程中把那些被4除后余2的当前累加值放入数组中,符合此条件的累加值的个数作为函数值返回主函数里。如当n的值为20时,该数列为3,8,13,18,23,28,93,98。符合此条件的累加值应为42,126,366,570,1010。 #define N 20 int fun(int n, int *a) /*found*/ int I,j,k,sum; sum=0; for(k=3,I=0;I+,k+=5) sum=sum+k; if(sum%4=2) aj+=sum; return j; int aN,
6、d,n,i;nEnter n(4=n fun(int k) int n; float s, w, p, q; n=1; s=1.0; while(n=k) w=2.0*n; p=w-1.0; q=w+1.0; s=s*w*w/p/q; n+; return s system(%fn ,fun(10);fun(int k) 正确:double fun(int k) return s 正确:return s; 第三十五套 给定程序的功能是:计算并输出下列级数的前N项之和SN,直到SN大于q为止,q的值通过形参传入。 例如,若q的值为50.0,则函数值为50.416687。 请勿改动main函数和其
7、他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。 double fun(double q) double s,t; n=2; s=2.0; while(s【1】q) s=s+(double)(n+1)/n; 【2】;n=%dn ,n); 【3】;,fun(50);(1)= (2)n+或n+=1或n=n+1 (3)return s 或 return(s) 给定n个实数,输出平均值,并统计平均值以上(含平均值)的实数个数。例如, n=8时,输入193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763,所得
8、平均值为195.838745,在平均值以上的实数个数应为5。 int fun(float x, int n) int j, c=0; float xa=0.0; for (j=0; j=xa) c+; return c; float x100= 193.199,195.673,195.757,196.051,196.092,196.596,196.579,196.763;%dn,fun (x,8);缺 正确:加 第三十六套 请在函数fun的横线上填写若干表达式,使从键盘上输入一个整数n,输出n对应的斐波拉契数列。斐波拉契数列是一整数数列,该数列自第三项开始,每数等于前面两数之和,即0,1,1,
9、2,3,5,8,13,21,34,55, int fun(int n); int i,n=0; for(i=0; printf(%d ,fun(i); int fun(int n) if(【1】) return 0; else if(【2】) return 1; else return 【3】 ;(1) n=0 (2) n=1 (3) fun(n-1)+fun(n-2) 根据整型形参n,计算如下公式的值。 A1=1,A2=1/(1+A1),A3=1/(1+A2),An=1/(1+A (n-1) 例如,若n=10,则应输出0.617977。 float A=1;int I; for(I=2; A
10、=1.0/(1+A); return A;nPlease enter n:A%d=%lfn,n,fun(n);int fun(int n) float fun(int n) 第三十七套 请补充函数fun,该函数的功能是:把从键盘输入的3个整数按从小到大输出。 例如,输入33 78 25,结果输出25 33 78 int x,y,z,t;Input x,y,zn%d%d%dx,&y,&z); t=x; x=y; y=t; /*交换x,y的值*/ if(【2】) t=z; z=x; x=t; /*交换x,z的值*/ if(【3】) t=y; y=z; z=t; /*交换z,y的值*/*the re
11、sult*nfrom small to big:%d %d %dn,x,y,z);(1) xy (2) xz (3) yz 找出100到n(不大于1000)之间三个位上的数字都相等的所有整数,把这些整数放在s所指的数组中,个数作为函数值返回。 请改正函数fun中的错误,使它能得出正确的结果。 #define N 100 int fun(int *s, int n) int I,j,k,a,b,c; j=0; for(I=100; I I+) k=n; a=k%10; k/=10; b=k/10; c=k/10; if(a=b & a=c) sj+=I; int aN, n,num=0, i;
12、donEnter n( 1000); num= fun(a,n); inum; i+) %5dnnk=n 正确:k=i;b=k/10;b=k%10; 第三十八套计算三名学生学科的平均成绩。 例如,当scoreNM=83.5,82,86,65,67,80,91.5,84,99,95,90,95,86,95,97时,五门学科的平均分为:84.5,89.5,85.3,86.3,86.3。 #define N 3 #define M 5 int main() int I,j; static float scoreNM= 83.5,82,86,65,67,80,91.5,84,99,95,90,95,8
13、6,95,97; static float bbN; for(I=0;M; bbI=0.0;【1】; for(j=0;【2】; bbj+=scoreIj;nsubject%dtaverage=%5.1f,I+1,【3】); return 0;(1) N (2) M (3) bbi/N 求k!(k1 return(k*fun(k-1); return 1; int k=10;=%ldn ,k,fun(k);错误:if k1 正确:if(k1) 第三十九套判断一个数的个位数字和百位数字之和是否等于其十位上的数字,是则返回yes!,否则返回no! char *fun(int n) int g,s,b; g=n%10; s=n/10%10; b=【1】; if(g+b)=s) return 【2】; return 【3】; int num=0;*Input data *nnum);nnn* The result *nnnn%s,fun(num);
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2