A.功能等价于下面的函数#n为整数defsum2(n):return(1+n)*n/2
B.sum(5)是函数调用
C.是递归函数
D.求任意两个数值n和n-1的和
第1题:
执行下面程序段,语句3的执行次数为______。 for(i=0;i<n-1;i++) for(j=n;j>i;j++) state;
A.n(n+2)/2
B.(n-1)(n+2)/2
C.n(n+1)/2
D.(n-1)(n+2)
第2题:
假设把整数关键码K散列到有N个槽的散列表,以下哪些散列函数是好的散列函数()
A.h(K)=KmodN
B.h(K)=1
C.h(K)=K/N
D.h(K)=(K+rand(N))modN,rand(N)返回一个0到N-1的整数
第3题:
下面程序在调试时出现了死循环 Private Sub Command1_Click() n=InputBox("请输入—个整数") Do Ifn Mod 2=0 Then n=n+1 Else n=n+2 End If Loop Until n=1000 End Sub 下面关于死循环的叙述中正确的是______。
A.只有输入的n是偶数时才会出现死循环,否则不会
B.只有输入的n是奇数时才会出现死循环,否则不会
C.只有输入的n是大于1000的整数时才会出现死循环,否则不会
D.输入任伺整数都会出现死循环
第4题:
下面算法是实现对n个整数的序列进行选择排序,其中序列的“长度”n为问题的规模。该算法的时间复杂度为(11)。 void select_sort(int a[],int n){ //将a中整数序列重新排列成从小到大有序的整数序列 for(i=0;i<n-1;++i){ j=i; for(k=i+1;k<n;++k)if(a[k]<a[j])j=k; if(j!=i){w=a[j];a[j];a[i];a[i]=w} )//select_sort
A.O(n2)
B.O(n3)
C.O(n4)
D.O(n)
第5题:
在下面循环语句中循环体执行的次数为( )。
for(int i=0; i
if(i>n/2) break;
A、n/2
B、n/2+1
C、n/2-1
D、n-1
第6题:
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
第7题:
T(n)=O(f(n))中,函数O()的正确含义为
A.T(n)为f(n)的函数
B.T(n)为n的函数
C.存在足够大的正整数M,使得T(n)≤M×f(n)
D.存在足够大的正整数M,使得M×f(n)≤T(n)
第8题:
( 9 )下面的函数利用递归实现了求 1+2+3+ …… +n 的功能:
int sum ( int n ) {
if ( n==0 )
return 0;
else
return n+sum ( n-1 ) ;
}
在执行 sum ( 10 )的过程中,递归调用 sum 函数的次数是【 9 】 。
第9题:
下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整。(注:阶乘的定义是n!cn*(n-1)*...*2*1)
unsigned fact(unsigned n)
{
if (n<=1)
return 1;
return 【 】;
}
第10题:
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
【说明】
有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。
【函数】
main()
{
int number[20],n,m,i;
printf("the total numbers is:");
scanf("%d",&n);
printf("back m:");
scanf("%d",&m);
for(i=0;i<=n-1;i)
scanf("%d,",&number[i]);
(1);
for(i=0;i<=n-1;i)
printf("%d,",number[i]);
}
move(array,n,m)
int n,m,array[20];
{
int *p,array_end;
array_end=(2);
for(p=array[n-1];(3);p--)
*p=(4);
*array=array_end;
m--;
if(m>0) (5);
}