for(i=1,t=1,s=0;i<=n;i++){t=t*i;

题目

for(i=1,t=1,s=0;i<=n;i++){t=t*i;s=s+t;}的时间复杂度为()

参考答案和解析
正确答案:O(n)
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序的输出结果是

#include(iostream. h>

void reverse(int a[],int n)

{ int i,t;

for(i=0;;

{t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}

}

void main()

{ int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;

reverse(b,8);

for(i=6;i <10;i++)s+=b[i];

cout <

}

A.22

B.10

C.34

D.30


正确答案:A

第2题:

以下程序的输出结果是 void reverse(int a[],int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i]; a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf("%d\n",s); }

A.22

B.10

C.34

D.30


正确答案:A
解析:在main函数中,调用revere函数将b数组中的前8个成员进行互置,执行完毕后,b数组中的成员为{8,7,6,5,4,3,2,1,9,10},然后再执行for循环结构,将b[6],b[7]…b[9]的值相加,结果为22。

第3题:

以下程序的输出结果是 【 11 】 。

#include <stdio.h>

int fun(int x)

{ static int t=0;

return(t+=x);

}

main()

{ int s,i;

for(i=1;i<=5;i++) s=fun(i);

printf("%d\n",s);

}


正确答案:

第4题:

以下程序的输出结果是includevoid reverse(int a [ ] ,int n){int i,t;for(i=0;i

以下程序的输出结果是 #include<iostream.h> void reverse(int a [ ] ,int n) {int i,t; for(i=0;i<n/2;i++) {t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } void main( ) {int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; cout << S; }

A.22

B.10

C.34

D.30


正确答案:A
解析:在main函数中,调用reverse函数将b数组中的前8个成员进行互置,执行完毕后,b数组中的成员为{8,7,6,5,4,3,2,1,9,10},在执行for循环结构后,将b[6],b[7]……b[9]的值相加,结果为1+2+9+10=22。注意:在计算累加和时,应将累加变量赋值为零。

第5题:

以下程序的输出结果是includevoid reverse(int a[],int n){ int i ,t; for(i=0;

以下程序的输出结果是 #include<iostream.h> void reverse(int a[],int n) { int i ,t; for(i=0;<n/2;i++) { t=a[i]=a[i] =a[n-1-i];a[n-1-i]=t;} } void main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; cout<<s; }

A.22

B.10

C.34

D.30


正确答案:A
解析:在main函数中,调用reverse函数将b数组中的前8个成员进行互置,执行完毕后,b数组中的成员为{8,7,6,5,4,3,2,l,9,10},在执行for循环结构后,将b[6],b[7]……b[9]的值相加,结果为l+2+9+10=22。注意:在计算累加和时,应将累加变量赋值为零。

第6题:

在下面程序横线处填上适当内容,使得程序的输出为9876。include using namespace std;te

在下面程序横线处填上适当内容,使得程序的输出为9876。

include <iostream>

using namespace std;

template<class T>

void f(【 】)

{

T t;

for (int i=0;i<n/2;i++)

{

t=a Ii];

a [i]=a[n-1-i];

a [n-1-i]=t;

}

}

int main ( )

{

int x[]={6,7,8,9};

f(x,4);

for (int i=0;i<4;i++)

cout<<x[i];

cout<<end1;

return 0;

}


正确答案:Ta[]int n
Ta[],int n 解析:函数f的形参之一为T类型的数组a,形参之二为整型数n。

第7题:

下面程序的运行结果是( )。include define SlZE 12 main() {char s[SIZE];int i;for(i=0

下面程序的运行结果是( )。

include<stdio.h>

define SlZE 12

main()

{char s[SIZE];int i;

for(i=0;i<SIZE;i++) s[i]='A'+i+32;

sub(s,5,SIZE-1);

for(i=0;i<SIZE;i++)printf("%c",s[i]);

printf("\n");}

sub(char *a,int t1,int t2)

{ char ch;

while(t1<t2)

{ ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;

}

}


正确答案:abcdelkjihgf
abcdelkjihgf 解析:本题先给字符型数组s的12个元素赋值a到1共12个字母,函数sub(char*a,int t1,int t2)的功能是将数组a的从第t1+1个元素到t2+1个元素进行逆置,在主函数中调用sub(s,5,SIZE-1)函数,是将数组s的第6个元素到第12个元素进行逆置,其他元素位置不变。

第8题:

有以下程序inclUdevoidfun(int*s,intn1,intn2){inti,j,t;i=n1;j=n2;while(i

有以下程序 #inclUde <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1; j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4

A.0987654321

B.4321098765

C.5678901234

D.0987651234


正确答案:C
解析: 函数fun(int*s,int n1,int n2)的功能是对数组s中的元素进行首尾互相调换。所以在主函数中,当fun(a,0,3)执行完后,数组a[12]={4,3,2,1,5,6,7,8,9,0};再执行fun(a,4,9),数组a[12]={4,3,2,1,0,9,8,7,6,5};再执行fun(a,0,9)后,数组a[12]={5,6,7,8,9,0,1,2,3,4}。

第9题:

以下程序运行后的输出结果是()。includevoid reverse(int a[],int n){int i,t;for(i=0;

以下程序运行后的输出结果是( )。 #include<stdio.h> void reverse(int a[],int n) {int i,t; for(i=0;i<n/2;i++) {t==a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() {int b[10]={10,9,8,7,6,5,4,3,2,1};int i,s=0; reverse(b,10); for(i=0;i<3;i++)s+=b[i]; printf("%d\n",s); }

A.27

B.6

C.25

D.30


正确答案:B
解析:本题考查函数调用时的参数传递。函数reverse将数组b进行了逆置,此时b[10]={10,9,8,7,6,5,4,3,2,1),后面for语句的功能是将b中的后3个数累加,并将结果放在s中,最后将s输出,结果s=1+2+3=6。

第10题:

以下程序中函数reverse的功能是将a所指数组中的内容进行逆置。 void reverse(int a[],int n) { int i,t; for(i=0;i<n/2;i++) { t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;} } main() { int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0; reverse(b,8); for(i=6;i<10;i++)s+=b[i]; printf(“%d\n”,s); } 程序运行后的输出结果是

A.22

B.10

C.34

D.30


正确答案:A
解析:reverse()函数的功能是将具有n个元素的数组a反序存放。在主函数中调用语句是“reverse(b,8);”,实现的功能是把b数组的前八个元素逆置,所以b数组中依次存放的值为“8,7,6,5,4,3,2,1,9,10”。for循环了4次,分别把b[6]、b[7]、b[8]和b[9]的值(分别是2、1、9、10)加到了s中,s的结果是22,所以最后输出的s值为22。

更多相关问题