算法的主要运算如下: Whilei<n do {s=0; Whiles<n do { s=s+1; } i=i+1; }其中i的初值为0,s初值

题目

算法的主要运算如下: While i<n do { s=0; While s<n do { s=s+1; } i=i+1; } 其中i的初值为0,s初值为0,“=”为赋值号。该算法的时间复杂度为()

A.O(2n)

B.O(n+log2n)

C.O(nlog2n)

D.O(n2)

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

函数 void fun(float *sn, int n)的功能是:根据以下公式计算S,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。

void fun( float *sn, int n)

{ float s=0.0, w, f=-1.0;

int i=0;

for(i=0; i<=n; i++)

{ f=( )* f;

w=f/(2*i+1);

s+=w; }

( )=s;}


正确答案:
-1;*sn

第2题:

有以下程序:includeincludevoid fun(char s[][10],int n){char t;int i,j;

有以下程序: #include<stdio.h> #include<string.h> void fun(char s[][10],int n) { char t;int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) /*比较字符串的首字符大小,并交换字符串的首字符*/ if(s[i][0]>s[j][0]){t=s[i][0];s[i][0]=s[j][0];sEj][0]=t;} } main() {char s[5][10]={"bcc","bbcc","xy","aaaacc","aabcc"); fun(ss,5);printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是( )。

A.xy,aaaacc

B.aaaacc,xy

C.xcc,aabcc

D.acc,xabcc


正确答案:D
解析:本题考查的重点是二维数组的存储。函数fun()只是对5个字符串的首字母进行排序,排序后为{“acc”,“abcc”,“by”,“baaacc”,“xabcc”},因此,输出为第1个和第5个字符串,选项D是正确的。

第3题:

如下程序显示的结果是 ( )。

s=1

i=0

do while i<8

s=s+i

i=i+2

end do

s


正确答案:

13

第4题:

程序段s=i=0;do{i=i+1;s=s+i;}while(i=n);的时间复杂度为()。

A、O(n)

B、O(nlog2n)

C、O(n)

D、O(n/2)


参考答案:A

第5题:

有如下程序,运行输出的结果是 ______ 。 s=0 Do s=(s+1)*(s+2) n=n+1 Loop Until s>=30 Print n; s

A.0 1

B.30 30

C.4 30

D.3 182


正确答案:D
解析:此循环的功能是不断根据表达式修改变量s的值,直到其值大于等于30才退出循环。变量n用于记录循环的次数。第一次循环时,s=1*2=2;第二次循环时,s=3*4=12;第三次循环时,s=13*14=182,随即退出循环,因此共循环了3次,即n=3。

第6题:

如下程序显示的结果是 S=1 i=0 do while i<8 s=s+i i=i+2 enddo?s


正确答案:13
本题考查的是对循环命令的理解。s的初始值为1,i的初始值为1,每循环一次s值增加2,i增加2。当i等于8时终止循环,s=1+2+4+6,所以值为13。

第7题:

(30)设有定义:char s[81];int i=10;,以下不能将一行(不超过80个字符)带有空格的字符串真确读入的语句或语句组是

A gets(s)

B)while((s[i++]=getchar())!=”\n”;s=”\0”;

C)scanf(“%s”,s);

D)do{scanf(“%c”,&s);}while(s[i++]!=”\n”);s=”\0”;


正确答案:C

第8题:

设有定义 :char s[81];int i=0;, 以下不能将一行 ( 不超过 80 个字符 ) 带有空格的字符串正确读入的语句或语句组是

A)gets(s);

B)while((s[i++]=getchar())!= ' \n ' );s[i]='\0';

C)scanf("%s",s);

D)do{scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';


正确答案:C

第9题:

有以下程序 main( ) { int i=0,s=0; do{ if(i%2){i++;continue;} i++; s+=i; } while(i<7); printf("%d\n",s); } 执行后输出的结果是

A.16

B.12

C.28

D.21


正确答案:A
解析:本题的功能是计算0~7之间所有奇数的和(包括7)。

第10题:

算法的主运算如下,其中i的初值为1,s的初值为0,“←”为赋值号。 while i<n do { for j←1 to n do s←s+a[i,j] i←i*2; 则该算法的时间复杂度为 ( )

A.O(2n)

B.O(n+log2n)

C.O(nlog2n)

D.O(n2)


正确答案:C

更多相关问题