result=x/2.0; return result; }
double b(int x) { double result; if(x%2!=0) result=x*x; else result=x*x*x; return result; }
double sum(int n) { int i; double t,y=0; for(i=1;i<=n;i++) { t=a(i)-b(i); y=y+(t*t); } return y; }
void main() { double a( int x); double b(int x); double sum(int n); int n; scanf(\ printf(\} 43、
X2Xn
已知:y?1?X?2?????n, 其中:X = 0.25,n = 1,2,┅,求:
(1) Y值(精确到小数点后第5位) *1.28767 (2) 与(1)匹配的最小的n *7 #include
float power(double x,int n) { double p=1; int i; for(i=1;i<=n;i++) p=p*x;
return p; }
void main() { float power(double x,int n);
double t,x,y=1; int n=1; x=0.25; do { t=power(x,n); y=y+t/n; n++; }while(t/n>1e-5);
printf(\}
44、以下程序输入三个整数值给a,b,c,程序把b中的值给a,把c中的值给b,把a中的值给c,交换后输出a、b、c的值。例如:读入后,a=10、b=20、c=30;交换后,a=20、b=30、c=10。请填空。 #include
int a,b,c,t;
printf(\,b,c:\
scanf(\&a,&b,&c); t=a;a=b;b=c;c=t;
printf(\}
45.下面fun函数的功能是从a数组中查找值为y的元素;若找到,返回该元素的下标值,若不存在值为y的元素,返回0;数列放在a数组的a[1]到a[n]中,a[0]元素用来作为临时存储单元。请填空。 int fun(int a[],int y,int n) {int k=0; a[0]=y;k=n;
while( a[0]!=a[k] && k!=0 ) k--; return( k ); }
46、 /*下列程序的功能是求出二阶Fibonacci数列前10之和,1,1,2,3,5,8…。请改正程序中的错误,并运行修改后的程序,给出程序结果。(注:只有一处错误!3是第四项,5是第五项。)*/ 答案:143 #include
void main() {
long sum=0,a[30]={1,1,2}; int k;
for( k=2;k<10;k++ )
a[k] = a[k-1]+a[k-2];
for( k=1;k<=10;k++ ) //改为: for( k=0;k<10;k++ ) sum += a[k]; printf(\ }
47、[20,160]之间的所有偶数的平方和。答案:694380 #include
48、求[10,2000]之间能被2或3或5整除的数之和。答案:1466295 #include
49、求800以内的最大的20个素数之和。答案:14510 #include
int k;
for(k=2;k if(x%k==0) break; if(k==x) return 1; else return 0; } void main() { int i,sum=0,n=0; for(i=800;i>0;i--) { if(prime(i)) { sum=sum+i; n++; } if(n==20) break; } printf(\} 50、求当n=60时下式的和:s=1+1/(1+2)+1/(1+2+3)+......+1/(1+2+3+......+n)(按四舍五入保留6位小数)。答案:1.967214 #include 51、编写程序:输入x的值,按照下列公式计算cos(x) cos(x)=1-x2/2!+ x4/4!- x6/6!+... 精确到10-5。 #include } b=b*2*i*(2*i-1); y=y+a/b; i++; }while(fabs(a/b)>1e-5); printf(\