p=p*i; /*求m!*/ for(i=1;i<=n;i++) p=p/i; /*求m!/n!*/ for(i=1;i<=m-n;i++)
p=p/i;/*求m!/(n!(m-n)!)*/ return p;
/*编写函数fun,它的功能是:利用以下所示的简单迭代方法求方程cos(x)-x=0 的一个实根。 xn+1=cos(xn)
迭代步骤如下: (1)取x1初值为0.0;
(2)x0=x1,把x1的值赋给x0;
(3)x1=cos(x0),求出一个新的xl;
(4)若x0-x1,的绝对值小于0.000001,则执行步骤 (5),否则执行步骤(2); (5)所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。 程序将输出结果Root=0.739085。 注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:*/
#include
/***************Begin************/
/*************** End ************/
}
void main( ) {
FILE *out; float f=fun();
printf(\
/******************************/ out =fopen(\ fprintf(out,\ fclose(out);
/******************************/ }
【参考代码】
float x1=0.0,x0; do {
x0=x1; x1=cos(x0);
}while (fabs(x0-x1)>=1e-6); return x1;
/*输入一个无符号整数,判断该数是否为回文数(注:一个整数,从左向右读和从右向左读都是一样的数,
则该数称为回文数,如123321),编写函数fun(),判断给定的数是否为回文数 */
#include
/***************Begin************/
/***************End***************/ }
int main() {
FILE *out;
int i,n,k[4]={123,123321,3443,200}; out=fopen(\ scanf(\ if(fun(n))
printf(\是回文数!\\n\ else
printf(\不是回文数!\\n\ for(i=0;i<4;i++)
fprintf(out,\ fclose(out); return 0; }
【参考代码】
int m,t=0; m=n; while(m!=0) { } if(t==n)
return 1; t=t*10+m; m=m/10;
else
return 0;
/*编写函数fun,函数的功能是:根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。 S=1+1/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)
例如,若n的值为11时,函数的值为1.833333。 注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序: */
#include
/***************Begin************/
/*************** End ************/
}
void main() {
FILE *wf; int n; float s;
printf(\ scanf(\ s=fun(n);
printf(\/******************************/ wf=fopen(\ fprintf (wf,\ fclose(wf);
/*****************************/ }
【参考代码】
int i,s1=0; /*定义整型变量s1,表示分母*/ float s=0.0;/*定义单精度变量s,表示每一项*/ for(i=1;i<=n;i++) {
s1=s1+i; /*求每一项的分母*/ s=s+1.0/s1; }
return s;
/*求多项式的值*/
/*请编写函数fun,其功能是:将两个两位数的正整数a、b合并成一个整数放在c中。
合并的方式是:将a数的十位和个位数依次放在c数的十位和千位上,b数的十位和个位数依次放在c数的个位和百位上。
例如,当a=45,b=12,调用该函数后,c=5241。 注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:*/
#include
long int fun(int a ,int b) {
/***************Begin************/
/*************** End ************/
} void main() {
int a,b,i; long c; FILE *out,*in;
printf(\ scanf(\ c=fun(a,b);
printf(\ /******************************/ in=fopen(\
out=fopen(\ for(i=0;i<10;i++) { }
fclose(in); fclose(out);
/******************************/ }
参考代码】
fscanf(in,\c=fun(a+11,b+22); fprintf(out,\
long fun(int a,int b) {
return (a)*1000+(b)*100+(a/10)*10+b/10; }
/*请编一个函数 float fun(double h),函数的功能是:对变量h中的值保留两位小数,并对第三位进行四舍五入(规定h中的值为正数)
例如,若h 值为8.32433,则函数返回8.32;若h值为8.32533,则函数返回8.33。 注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:*/
#include
/***************Begin************/
/*************** End ************/
} void main() {
FILE *wf,*in; float a;
printf(\ scanf (\
printf(\ printf(\
printf(\/******************************/ in=fopen(\
wf=fopen(\ for(int i=0;i<10;i++) { }
fclose(in); fclose(wf);
fscanf(in,\ fprintf(wf,\