D)DEFABC(32)某人为计算 n!(0n=12)编写了下面的函数过程:Private Function fun(n As Integer) As LongDim p As Longp=1For k=n-1 To 2 Step-1p=p*kNext kfun=pEnd Function在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有3 种是正确的,错误的方案是( )。A)把 p=1 改为 p=nB)把 For k=n-1 To 2 Step-1 改为 For k=1 To n-1C)把 For k=n-1 To 2 Step-1 改为 For k=1 To nD)把 For k=n-1 To 2 Step-1 改为 For k=2 To n
D)DEFABC
(32)某人为计算 n!(0<n<=12)编写了下面的函数过程:
Private Function fun(n As Integer) As Long
Dim p As Long
p=1
For k=n-1 To 2 Step-1
p=p*k
Next k
fun=p
End Function
在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有3 种是正确的,错误
的方案是( )。
A)把 p=1 改为 p=n
B)把 For k=n-1 To 2 Step-1 改为 For k=1 To n-1
C)把 For k=n-1 To 2 Step-1 改为 For k=1 To n
D)把 For k=n-1 To 2 Step-1 改为 For k=2 To n
相关考题:
请编写函数fun(),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p~n-1(p<n-1)的数组元素平移到数组的前面。例如,一维数组中的原始内容为1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, P的值为6。移动后,一维数组的内容应为7, 8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6。[注意] 部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。[试题源程序]inciude <stdio.h>define N 80void fun(int *w, int p, int n){}main(){int a[N]=(i, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15);int i, P, n=15;printf("The original data:\n");for(i=0; i<n; i++)printf("%3d", a[i]);printf("\n\nEnter p: ");scanf("%d", &p);fun(a, P, n);printf("\nThe data after moving:\n");for(i=0; i<n; i++)printf("%3d", a[i]);printf("\n\n");}
函数fun的功能是:根据以下公式求p的值,结果由函数值返回。m与n为两个正数且要求mn。例如:m=12,n=8时,运行结果应该是495.000000。请在题目的空白处填写适当的程序语句,将该程序补充完整。#include#includefloat fun (int m, int n){ int i;double p=1.0;for(i=1;i=m;i++)( );for(i=1;i=n;i++)( );for(i=1;i=m-n;i++)p=p/i;return p;}main (){ clrscr();printf ("p=%f\n",fun (12,8));}
请补充函数fun(),该函数的功能是:计算N×N维矩阵元素的方差,结果由函数返回。维数N在主函数中输入。例如:注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include <stdio.h>include <conio.h>include <stdlib.h>include <math.h>define N 20double fun(【 】,int n){int i,j;int k;double s=0.0;double f=0.0;double aver=0.0;double sd=0.0;for(i=0;i<n;i++)for(j=0;j<n;j++)s+=a[i][j];aver=【 】;for(i=0;i<n;i++)for(j=0;i<n;j++)f+=(a[i][j]-aver)*(a[i][j]-aver);f/(n*n);sd=【 】;return sd;}main(){int a[N][N];int n;int i,j;double s;clrscr();printf("***+Input the dimension ofarray N*****\n");scanf("%d",n);printf("***** The array *****\n");for(i=0;i<n;i++){for(j=0;j<n;j++){a[i][j]=rand()%50;while(a[i][j]=0)a[i][j]=rand()%60;printf("%4d",a[i][j]);}printf("\n\n");}s=fun(a,n);printf("******* THE RESULT *******\n");printf("%4.3f\n",s);}
请编一个函数void fun( int tt[M][N], int pp[N], tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <stdio.h>define M 3define N 4void fun(int tt[M][N],int pp[N]){}main(){int t[M] [N]={{68,32,54,12},{14,24,88,58},{42, 22, 44, 56}};int p[N],i,j,k;clrscr();printf("The riginal data is:\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%6d",t[i][j]);printf("\n");}fun(t,p);printf("\nThe result is:\n");for(k=0;k<N;k++)printf("%4d",p[k]);printf("\n");}
某人为计算n!(0n=12)编写了下面的函数过程:Private Function fun(n As Integer)As LongDim P As LongP=1For k=n-1 To 2 Step-1P=P*kNext kfun=PEndFunction在调试时发现该函数过程产生的结果是错误的,程序需要修改。下面的修改方案中有3种是正确的,错误的方案是A.把P=1改为P=nB.把For k=n-1 To 2 Step-1改为For k=1 To n-lC.把For k=n-1 T02 Step-1改为Fork=1 To nD.把For k=n-1 To 2 Step-l改为FOr k=2 To n
请编写一个函数void fun(int a [],int n),其中a为数组,n为数组a的长度。函数fun()的功能是冒泡排序法将数组a元素按从小到大的顺序排列,实现数组a的升序排列。注意:部分源程序已存在文件PROC12.cpp中。请勿修改主函数和其他函数中的任何内容,仅在函数fun()的花括号中填写若干语句。文件PROC12.cpp的内容如下://PROC12. cppinclude <iostream>using namespace std;define MAX 100void fun(int a[],int n);int main (){int a[MAX],n,i;cout<<"Please enter the array size n:\n";do {cin>>n;if (n>100)cout<<"array size flowover! ReEnter a number(0-100)\n";}while (n>100);cout<<"Enter the array data:\n";for (i=0; i<n; i++)cin>>a [ii;fun(a[],n);for (i=0; i<n; i++)cout<<a [i] <<" ";cout<<end1;return 0;}void fun(int a[ ],int n){// * * * * * * * *}
请补充函数fun(),该函数的功能是:输出一个N×N矩阵,N由键盘输入,矩阵元素的值为随机数,并计算出该矩阵四周边元素的平均值,结果由函数返回。例如:当N=4时:注章:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。试题程序;include<stdio.h>include<conio.h>include<stdlib.h>define N 20double fun(int a[ ][N],int n){int i,j;int k;double s=0.0;double aver=0.0;printf("*****The array*****\n");for(i=0;i<n;i++){for(j=0;j<n;j++){a[i][j]=rand()%10;printf("%4d",a[i][j]);if(【 】)s+=a[i][j];}printf("\n");}k=【 】;aver=【 】;return aver;}main( ){int a[N][N];int n;double S;Clrscr( );printf("*****Input the dimension Of array N*****\n");scanf(“%d”,n);S=fun(a,n);printf(“***** THE RESULT *****\n”);printf(“The average is %2,3f\n”,S);}
试题2本程序中,函数fun的功能是计算整数n的阶乘。程序中存在若干错误,请找出并改正。(注意:不改动程序的结构,不得增行或删行。)#include stdio.hdouble fun(int n){ double result=1.0;while (n1 n170)result*=- -n;return;}main(){ int n;clrscr ();printf(“Enter an integer:”) ;scanf(“%d”,n);printf(“\n\n%d!=%lg\n\n”,n,fun(n)) ;nono ();{int n,i;FILE *rf, *wf ;rf = fopen (“g03.in”,“r”) ;wf = fopen(“g03.out”,“w”) ;for (i=1; i=10;i++){ fscanf(rf, “%d”,n) ;fprintf (wf, “%lg\n”,fun( n ) );}fclose (rf) ;fclose (wf) ;}