编写函数,求出“1/(1×2)-1/(2×3)+1/(3×4)-1/(4×5)+……”前n项的和,函数以n为参数,由用户输入。
答案:代码
测试结果:
第1题:
下列给定的程序中,函数fun()的功能是:求出以下分数序列的前n项和。
2/1,3/2,5/3,8/5,13/8,21/13,…
其值通过函数值返回main()函数。例如,若输入n=5,则应输出8.391667。
[注意] 部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。
[试题源程序]
include<stdio.h>
include<conio.h>
double fun(int n)
{
int a=2, b=1, c, k;
double (1) ;
for(k=1; k<=n; k++)
{
s=s+1.0 *a/b;
c=a; a+= (2) ; b=c;
}
return(d);
}
main()
{
int n=5;
printf("\nThe value of function is: %1f\n", (3) );
}
第2题:
请编写函数fun(),其功能是:计算并输出下列多项式的值。
S=1+4/(1+2)+1/(1+2+3)+…+1/(1+2+3+…+n)
例如,着主函数从键盘给n输入50后,则输出为 S=1.960784。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <stdio.h>
double fun(int n)
{
}
main ()
{
int n;
double s;
printf ("\nInput n: ");
scanf ("%d", &n);
s=fun (n);
printf ("\n\ns=%f\n\n", s);
}
第3题:
下列程序定义了NXN的二维数组,并在主函数中赋值。请编写函数fun(),函数的功能是求出数组周边元素的平方和并作为函数值返回给主函数中的S。例如:若a数组中的值为
a=0 1 2 7 9
1 11 21 5 5
2 21 6 11 1
9 7 9 10 2
5 4 1 4 1
则返回主程序后s的值应为310。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<stdio.h>
include<conio.h>
include<stdlib.h>
define N 5
int fun (int w[][N])
{
}
main()
{
int a[N)[N]={0,1,2,7,9,1,1l,2l,5,5,2, 21,6,11,1,9,7,9,10,2,5,4,1,4,1};
int i,j;
int S;
clrscr( );
printf("*****The array***+*\n");
for (i=0; i<N; i++)
{for(j=0;j<N;i++)
{printf(“%4d”,a[i][j]);}
printf("\n");
}
s=fun(a);
printf(“*****THE RESULT*****\n”);
printf("The sum is:%d\n",s);
}
第4题:
有如下VBA程序段:
sum=0
n=0
For i = 1 To 5
x = n / i
n = n + 1
Sum=Sum+x
Next i
以上For循环计算sum,最终结果是
A.1+1/1+2/3+3/4+4/5
B.1/2+1/3+1/4+1/5
C.1/2+2/3+3/4+4/5
D.1/2+1/3+1/4+1/5
第5题:
请补全main函数,该函数的功能是:
求1+2!+3!+…+N!的和。
1) main()
2) {int i,n;
3) long s=0,t=1;
4) //clrscr();
5) printf("\nInput n:\n");
6) scanf("%d",___1___);
7) for(i=1;i<=n;i++)
8) {
9) t=___2___;
10) s=___3___;
11) }
12) printf("1!+2!+3!...+%d!=%ld\n",n,s);
13) }
第6题:
设有如下程序: Private Sub Command1_Click() Dim sum As Double,x As Double sum=0 n=0 For i=1 To 5 x=n/i n=n+1 sum=sum+x Next End Sub 该程序通过For循环计算一个表达式的值,这个表达式是 ______。
A.1+1/2+2/3/4+4/5
B.1+1/2+2/3+3/4
C.1/2+2/3+3/4+4/5
D.1+1/2+1/3+1/4+1/5
第7题:
计算斐波那契数列第n项的函数定义如下: intfib(intn){ if.(n==0)return1; elseif(n==1)return2: elsereturnfib(n-1)+fib(n-2); } 若执行函数调用表达式fib(2),函数fib被调用的次数是( )。
A.1
B.2
C.3
D.4
第8题:
【程序说明】程序功能是若输入的N值为5,则输出结果如下:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
【程序】
SET TALK OFF
CLEAR
INPUT“N=”TO N
DIME A(N,N)
P=N
DO WHILE N>0
A(N,N)=1
(5)
N=N-1
ENDDO
FOR I=3 TO (6)
FOR J=2 TO I-1
A(I,J)= (7)
ENDFOR
ENDFOR
FOR I=1 TO P
? SPACE(3*(P-I+1))
FOR J=1 TO I
?? STR(A(I,J),3)
(8)
?
ENDFOR
SET TALK ON
(5)
A.A(1,N)=1
B.A(1,N-1)=1
C.A(N,1)=1
D.A(N-1,1)=1
第9题:
在窗体上画1个命令按钮,并编写如下事件过程: Private Sub Command1 Click( ) Dim a(3,3) For m=1 To 3 For n=1 To 3 If n=m or n=4—m Then a(m.n)=m+n Else a(m,n)=0 End If Print a(m,n); Next n Print Next m End Sub 运行程序,单击命令按钮,窗体上显示的内容为( )。
A.2 0 0 0 4 0 0 0 6
B.2 0 4 0 4 0 4 0 6
C.2 3 0 3 4 0 0 0 6
D.2 0 0 0 4 5 0 5 6
第10题:
第11题:
已知三角形平面的顺序三个顶点为:(3,2,1),(1,3,2),(2,1,3),由矢量的叉积法求出平面的法矢量为()
第12题:
(1),(3),(5)
(2),(4),(6)
(1),(2),(4)
(1),(2),(3)
第13题:
请编写一个函数fun(),它的功能是:根据以下公式求π的值(要求满足精度0.005,即某项小于0.005时停止迭代)。
π/2=1+1/3+1*2/(3*5)+1*2*3/(3*5*7)+1*2*3*4/(3*5*7*9)+…
+1*2*3*…*n/(3*5*7*…*(2n+1))
程序运行后,如果输入精度0.0005,则程序输出3.14…。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<conio.h>
include<math.h>
double fun(double eps)
{
}
main()
{
double x;
printf("Input eps: ");
scanf("%1f", &x);
printf("\neps=%1f,PI=%1f\n",x,fun(x));
}
第14题:
下列程序定义了N×N的二维数组,并在主函数中赋值。请编写函数fun(),函数的功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。例如:若a数组中的值为
a= 0 1 2 7 9
1 9 7 4 5
2 3 8 3 1
4 5 6 8 2
5 9 1 4 1
则返回土程序后s的值应为3.375。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的仟何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include <stdio.h>
include<conio.h>
include<stdlib.h>
define N 5
double fun (int w[] [N])
{
}
main()
{
int a[N] [N]={0,1,2,7,9,1,9,7,4,5,2,
3,8,3,1,4,5,6,8,2,5,9,1,4,1};
int i, j;
double s;
clrscr();
printf("*****The array*****\n ");
for (i=0; i<N; i++)
{ for (j=0;j<N;i++)
{printf("%4d ",a[i] [j]);}
printf("\n ");
}
s=fun(a);
printf("*****THE RESULT*****\n ");
printf("The sum is : %lf\n ",s);
}
第15题:
阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明]
编写一个函数,输入为偶数时,调用函数求1/2+?/+…+1/n,当输入n为奇数时,调用函数1/1+1/3+…+1/n (利用指针函数)。
[函数]
include "stdio. h",
main()
{
float peven (),podd (),dcall ();
float sum;
int n;
while (1)
{
scanf("%d",&n);
if (n>1)
break;
}
if(n%2==0)
{
printf("Even="):
(1);
}
else
{
pfinff("Odd=");
(2);
}
printf("%f",sum);
}
float peven (int n)
{
float s;
int i
s=1;
for(i=2;i<=n;i+=2)
(3);
return (s);
}
float podd (n)
int n;
{
float s;
int i;
s=0;
for(i=1 i<=n;i+=2)
(4);
return (s);
}
float dcall(fp,n)
float (*fp) ();
int n;
{
float s;
(5);
returu (s);
}
第16题:
在图示四个轴力N1、N2、N3和N4中,( )。
:(A)N1和N2为正,N3和N4为负。
(B)N1和N4为正,N2和N3为负。
(C)N2和N3为正,N1和N4为负。
(D)N3和N4为正,N1和N2为负
第17题:
当发生窗体的单击事件时,输出的第二行为( )。 Private Sub Form_click() Dim N1 As Integer,N2 As Integer,N3 As Integer N1=1:N2=1 Print N1;N2 Do N3=N1+N2 Print N3; N1=N2:N2=N3 Loop Until N3>=5 End Sub
A.1 1 1
B.2 3 5
C.2 5 7
D.2 3 4
第18题:
设m>n,用“<"或“>"填空:
(1)m-5____n-5;(2) m+4____n+4;
(3)6m____6n; (4)-1/3m____-1/3n
(1)m-5n-5; (2) m+4n+4;
(3)6m6n; (4)-1/3m-1/3n
第19题:
在窗体上画一个命令按钮(其Name属性为Command1),然后编写如下代码:
Private Sub Command1_Click()
Dim a(5,5)
For i=1 To 3
For j=1 To 4
a(i,j)=i*j
Next
Next
For n=1 To 2
For m=1 To 3
Print a(m,n);
Next
Next
End Sub
程序运行后,单击命令按钮,输出结果是
A.2 4 6 1 2 3
B.1 2 3 2 4 6
C.1 2 3 4 5 6
D.6 5 4 3 2 1
第20题:
请编写函数fun(),其功能是:计算并输出下列多项式值。
S=(1+1/2)+(1/3+1/4)+…+(1/(2n-1)+l/2n)
例如,若主函数从键盘给n输入12后,则输出为 S=3.775958。
n的值要求大于1但不大于100。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
include<stdio.h>
double fun(int n)
{
}
main()
{
int n;
double s;
printf("\nlnput n:");
scanf("%d",&n);
s=fun(n);
printf("\ns=%f\n",s);
}
第21题:
请编写函数proc(),它的功能是计算: s=(1n(1)4-1n(2)+In(3)4-…+1n(m))0.5 在C语言中可调用log(n)函数求1n(n)。 例如,若n1的值为30,则proc()函数值为8.640500。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序:
第22题:
发动机N1转子和N2转子分别为哪几号轴承支撑在框架上()
第23题:
在直线趋势法中,X是代表时间序列的时间,对时间的编号的方法可以是()。