9、如下程序段: for(i=1;i<=n-1;i++) for(j=i+1;j<=n;j++) x=x+1; 其中语句x=x+1执行的语句频度为()。
A.n*n
B.n*(n-1)/2
C.n*(n+1)/2
D.n*(n-1)
第1题:
在下面循环语句中内层循环体S语句的执行总次数为( )。
for(int i=0; i
for(int j=i; j
A、n2
B、(n+1)/2
C、n(n-1)/2
D、n(n+1)/2
第2题:
以下非法的赋值语句是( )。
A.n=(i=2,++i);
B.j++;
C.++(i+1);
D.x=j>0;
第3题:
有以下程序: #include <stdio.h> intf(intn) } if(n==1) return 1; else return f(n-1)+1; } main() { int i,j=0; for(i=1; i<3; i++) j+=f(i); printf("%d\n",j); } 程序运行后的输出结果是( )。
A.4
B.3
C.2
D.1
第4题:
include<stdio.h>
void sort(inta[],int n)
{int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;<n;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;
}
}
main()
{int a[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&a[1],7);
for(i=0;i<10;i++)printf("%d,",a[i]);
}
程序运行后的输出结果是( )。
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.1,8,7,6,5,4,3,2,9,10,
D.1,2,10,9,8,7,6,5,4,3,
第5题:
有以下程序 vold soru(int a[], int n) { int i,i,t; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]) { t=a[i]; a[i]=a[i]; a[j]=t; } } main() { int aa[10]={1,2,3,4,5,6,7,8,9,10),i; sore(aa+2, 5); for(i=0;i<10;i++) printf("%d,",aa[i]); printf("\n"); } 程序运行后的输出结果是
A.1,2,3,4,5,6,7,8,9,10,
B.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
第6题:
以下非法的赋值语句是( )
A.n=(i=2,++i)
B.j++
C.++(i+1)
D.x=j>0
第7题:
有以下程序: void sort(int a[], int n) {int i,j,t; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(a[i]<a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } } main() { int aa[10]={1,2,3,4,5,6,7,8,9,10},i; sort(aa+2,5); for(i=0;i<10;i++)printf("%d,",aa[i]); printf("\n"); } 程序运行后的输出结果是( )。
A.1,2,3,4,5,6,7,8,9,10,
B.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
第8题:
n-1;i++)fo
有以下程序: struct S{int n;int a[20];}; void f(struct S*P) { int i,j,t; for(i=0;i<P->n-1;i++) for(j=j+1;j<P->n-1;j++) if(p->a[i]>p->a[j]) {t=P->a[i];p->a[i]=P->a[j];p->a[j]=t} } main() {int i;struct S s{10,{2,3,1,6,8,7,5,4,10,9}}; f(&s); for(i=0;i<s.n;i++)printf("%d",s.a[i]);} 程序运行后的输出结果是( )。
A.3
B.4
C.5
D.6
第9题:
以下非法的赋值语句是
A.n=(i=2,++i);
B.j++;
C.++(i+1);
D.x=j>0;
第10题:
有以下程序 #include<iostream.h> int f(iht n) { if(n==1) return 1; else return f(n-1)+1;} void main( ) { iht i,j=0; for(i=1;i<3;i++)j+=f(i); cout < < j;} 程序运行后的输出结果是
A.4
B.3
C.2
D.1
第11题:
有以下程序: void sott(int a[], int n) { int i, j, t; for(i=0; i<n-1; i++) for(j=i+1; j<n; j++) if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;) } main() {int aa[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, I; sort(aa+2, 5); for (i=0; i<10; i++)printf("% d", aa[i]); printf("\n"); } 程序运行后的输出结果是______。
A.1, 2, 3, 4, 5, 6, 7, 8, 9, 10,
B.1, 2, 7, 6, 3, 4, 5, 8, 9, 10,
C.1, 2, 7, 6, 5, 4, 3, 8, 9, 10,
D.1, 2, 9, 8, 7, 6, 5, 4, 3, 10,
第12题:
以下不符合C语言语法的赋值语句是()。
第13题:
本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。 void bubble(int a[],int n) {int i,j,max,temp; max=n-1; do{j=0; for(i=0;i<max;i++) if(a[i]<a[i+1]) {temp=a[i];a[i]=a[i+1];a[i+1]=temp; j=i; } max=j; }while(( )); }
第14题:
阅读下列函数说明和C代码,填入(n)处。
[说明]
以下C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵,矩阵形式如下:
7 6 5 16
8 1 4 15
9 2 3 14
10 11 12 13
程序的变量说明如下:
x1:矩阵上边界;
x2:矩阵下边界;
y1:矩阵左边界;
y2:矩阵右边界;
s:数组元素升降标记,s等于1为升,s等于-1为降;
a[]:存放矩阵元素的数组。
仔细阅读C语言程序源码,将(n)处的语句补充完整。(注:每处仅一个语句)
[C程序]
include<stdio.h>
void main ( )
{
const int N=20;
int i=0,j=0,a[N][N],n;
int m,x1,x2,y1,y2,s;
while (1)
{
Printf ("\ninput matrix row N( N>=2): ");
scanf ("%d",&n);
printf ("\n");
if (n>=2)
break;
}
m=n*n;
x1=0; y1=0; x2=n; y2=n;
if(n%2==0)
{j=n-1; y2=n-1; s=1;}
else
{i=n-1; y1=1; s=-1; }
while (1)
{
if (s==1)
{
for (i; i<x2; i++) a[i][j]=m--;
i--;
j--;
(1)
for (j;j>=y1;j--) a[i][j]=m--;
j++;
i--;
y1++;
(2)
}
else
{
for (i;i>=x1;i--)
a[i][j]=m--;
i++;
j++;
(3)
for (j;j<y2;j++)
(4)
(5)
i++;
(6)
S=i;
}
if (m<1) break;
}
for (i=O;i<n; i++)
{
for (j=O;j<n;j++)
printf ("%6d",a[i][j]);
printf ("\n");
}
printf ("\n");
}
第15题:
有以下程序( )。 #include<iostream.h> int f(int n) { if(n==1)return 1; else return f(n-1)+1; } void main() { int i,j=-; for(i=1;i<3;i++) j+=f(i); cout<<j<<endl; } 程序运行后输出结果是( )。
A.4
B.3
C.2
D.1
第16题:
有如下程序段,设n为3的倍数。则语句③的执行频度为______。 Lnt i,j ; ① for(i=i;i<n; i++){ ② if(3*i<=n){ ③ for(j=3*i;j<n;j++){
④ x++;y=3*x+2; } } }
A.n(n+1)/6
B.n(n-1)/6
C.n2/6
D.(n+1)(n-1)/6
第17题:
有以下程序( )。 #include<iostream.h> int f(int n) { if(n==1)return l; else return f(n-1)+1; } void main() { int i,j=-; for(i=1;i<3;i++) j+=f(i); cout<j<<endl; } 程序运行后输出结果是( )。
A.4
B.3
C.2
D.1
第18题:
有以下程序,其中函数f的功能是将多个字符串按字典顺序排序: #include<string.h> voidf(char*p[],intn) { char*t;int i,j; for(i=0;i<n-1;i++) for (j=i+1;j<n;j++) if(strcmp(p[i],p[j])>0) { t=p[i]; p[i]=p[j]; p[j]=t; } } main() { char*p[5]={"abc"
A.2
B.3
C.6
D.4
第19题:
以下非法的赋值语句是
A.n=(i=2,++i);
B.j++;
C.++(i+1),
D.x=i>0;
第20题:
下列程序的时间复杂度为( )。 for (i=l;i<2n;i++) { y++; for(j=0;j<a3n;j++) x++; }
A.0(n-1)
B.O(2n)
C.0(n2)
D.O(log2n)
第21题:
本题的功能是用冒泡法对数组元素arr[]={30,1,-9,70)进行从小到大排列。冒泡法排序是比较相邻的两个元素的大小,然后把小的元素交换到前面。
public class javal{
public static void main(String[]args){
int i,j;
int arr[]={30,1,-9,70);
int n= ;
for(i=0;i<;n-1;i++){
for(j=i+1;j<;n;j++){
if(arr[i]>;arr[j]){
int temp=arr[i];
;
;
}
}
}
for(i=0;i<;n;i++)
System.out.print(arr[i]+"");
}
}
第22题:
有以下程序 #include <stdio.h> #include <string.h> void fun(char,*s[],int n) { char *t; int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;} } main() { char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"}; fun(ss,5); printf("%s,%s\n",ss[0],ss[4]); } 程序的运行结果是
A.xy,aaaacc
B.aaaacc,xy
C.bcc,aabcc
D.aabcc,bcc
第23题:
以下非法的赋值语句是
A.n=(i=2, i++)
B.i++
C.x=j>0
D.++(i+1)
第24题:
O(1)
O(2n2)
O(n)
O(3n3)