若SUBSTR(S,i,k)表示求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=“Beijing&Nanjing”,SUBSTR(S,4,5)=()。
第1题:
主程序调用findmax函数求出数组中最大元素在数组中的下标,括号中需填写的内容是 #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++)if(s[p]>s[*k])( );} main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("
A.k=p
B.*k=p
C.k=p-s
D.*k=p-s
第2题:
A、‘ijing’
B、‘jing&’
C、‘ingTi’
D、‘ing&T’
第3题:
下列给定程序中,函数fun()的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。
请改正函数fun()中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <stdio.h>
define SIZE 20
fun (double *s, double *w)
{ int k, i; double sum;
for(k=2, i=0; i<SIZE; i++)
{s [i]=k; k+=2;}
sum=0.0;
for(k=0, i=0; i<SIZE;i++)
{sum+=s[i];
/*************found**************/
if(i+1%5==0)
{w[k]=sum/5; Sum=0; k++;}
}
return k;
}
main()
{ double a[SIZE],b[SIZE/5];
int i, k;
k=fun(a/b);
printf ("The original data:\n");
for(i=0;i<SIZE;i++)
{
if(i%5==0)printf("\n");
printf("%4.0f"/a[i]);
}
printf{"\n\nThe result:\n");
for(i=0; i<k; i++) printf("%6.2f",b[i]);
printf("\n\n");
}
第4题:
阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。
[说明]
这是一个求解Josephus问题的函数。用整数序列1,2,3…,n表示顺序围坐在圆桌周围的人,并采用数组表示作为求解过程中使用的数据结构。Josephus问题描述,设n个人围坐在一个圆桌周围,现在从第s个人开始报数,数到第m个人,让他出局;然后从出局的下一个人重新开始报数,数到第m个人,再让他出局,…如此反复直到所有的人全部出局为止。
[C函数]
void Josephus(int A[],int n,s,m)
(int i,j,k,temp;
if(m==O){
printf("m=0是无效的参数!\n");
return;
}
for(i=0;i<n;i++) A[i]=i+1; /*初始化,执行n次*/
i= (1) /*报名起始位置*/
for(k=n;k>1;k-){
if((2)) i=0;
i=(3) /*寻找出局位置*/
if(i!=k-1){
tmp=A[i];
for(j=i;J<k-1;j++) (4);
(5);
}
}
for(k=0;k<n/2;k++){
tmp=A[k];A[k]=A[n-k+1];A[n-k+1]=tmp;
}
}
第5题:
主程序调用findmax函数求出数组中最大元素在数组中的下标,( )中需填写的内容是。 #include<stdio.h> findmax(int*s,int t,int*k) { int p; for(p=0,*k=p;p<t;p++)if(s[p]>s[*k])( );} main() { int a[10],i,k; for(i=0;i<10;i++)scanf("%d",&a[i]); findmax(a,10,&k); printf("%d%d\n" ,k,a[k]);}
A.k=p
B.*k=p
C.k=p-s
D.*k=p-s
第6题:
运行下列程序时,若输入数据为“321”,则输出结果是( )。 main() {int num,i,j,k,s; scanf("%d",&num); if(num>99) s=3; else if(num>9) s=2; else s=1; i=num/100; j=(num-i*100)/10; k=(num-i*100-j*10); switch(s) {case 3:printf("%d%d%d\n",k,j,i); break; case 2:printf("%d%d\n",k,j); case 1:printf("%d\n",k); } }
A.123
B.1,2,3
C.321
D.3,2,1
第7题:
在下列选项中,没有构成死循环的是( )。
A.int i=100; while(1) { i==i0+1; if(i>100) break; }
B.for(;;);
C.int k=10000; do{k++;}while(k>10000);
D.int s=36; while (s) --s;
第8题:
试题14
以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的个数。请填空。
#include <stdio.h>
void fun(int s[], int *n, int k, int x)
{ int i;
for(i=*n-1; i>=k; i- - ) s[ ___ ]=s[i];
s[k]=x;
*n=*n+______;
}
main()
{ int a[20]={1,2,3,4,5,6,7,8,9,10,11}, i, x=0, k=6, n=11;
fun(a, &n, k, x);
for(i=0; i<n; i++) printf(“%4d”,a[i]); printf(“\n”);
}
第9题:
设串s1=’ABCDEFG’,s2=’PQRST’,函数Concat(x,y)返回x和y串的连接串,SubStr(s,i,j)返回串s的从第i个位置开始的j个字符组成的子串,StrLength(s)返回串s的长度,则Concat(SubStr(s1,2,StrLength(s2)),SubStr(s1,StrLength(s2),2))的结果串是()
第10题:
若SUBSTR(S,i,k)表示求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=“Beijing&Nanjing”,SUBSTR(S,4,5)=()。
第11题:
17.K=△I/I表示的定律是();S=KlgR表示的定律是()。
第12题:
‘ijing’
‘jing&’
‘ingNa’
‘ing&N’
第13题:
采用一维数组S存储一个n阶对称矩阵A的下三角部分(按行存放,包括主对角线),设元素A[i][j]存放在S[k]中(i、j、k均从1开始取值),且S[1]=A[1][1],则k与i、j的对应关系是(43)。例如,元素A[3][2]存在S[5]中。
A.
B.
C.
D.
第14题:
下列程序是用来判断数组中特定元素的位置所在。如果输入如下整数: 876 675 896 101 301 401 980 431 451 777 #include<conio.h> #include<stdio.h> int fun(int *s,int t,int *k) { int i; *k=0; for(i=0;i<t;i++) if(s[*k]<s[i])*k=i; return s[*k];} main() { int a[10]={876,675,896,101,301,401,980,431,45l,777},k; clrscr(); fun(a,10,&k); printf("%d,%d\n",k,a[k]);} 则输出结果为
A.7,431
B.6
C.980
D.6,980
第15题:
下列程序的输出结果是______。 main() { char *s="12134211"; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) { switch(s[k]) { case '1':i=0; case '2':i=1; case '3':i=2; case '4':i=3; } vii]++; } for(k=O;k<4;k++) printf("%d ",v[k]); }
A.4211
B.0008
C.4678
D.8888
第16题:
下列程序是用来判断数组中特定元素的位置所在,则输出结果为 #include<conio.h> #include<iostream.h> int fun(int * s,int t,int * k) { int i; *k=0; for(i=0;i<t;i++) if(s[ * k] <s[i] ) *k=i; retum s[ * k] ;} void main( ) { int a[10] ={876,675,896,101,301,401,980,431,451,777},k; fun(a,10,&k) ; cout < < k < < ',' < < a[k] ;}
A.7,431
B.6
C.980
D.6,980
第17题:
下面程序的运行结果是______。
main()
{ int i=0,j=10,k=2,s=0;
{i+=k;
if(i>j)
{printf("%d\n",s);
break;}
s+=i;}}
第18题:
● 采用一维数组 S 存储一个 n 阶对称矩阵 A 的下三角部分(按行存放,包括主对角线) ,设元素A[i][j]存放在 S[k] 中(i、j、k 均从1 开始取值) ,且 S[1]=A[1][1],则k与 i、j 的对应关系是 (43) 。例如,元素 A[3][2]存在 S[5]中。

第19题:
下列程序段中,不是死循环的是_______。
A.int i=100;
B.unsigned k=0; while(1) do { { i=i%100+1; ++k if(i>=100)break; } } while(k>=0);
C.for(;;);
D.int s=3379; while(s++%2+s%2)s++;
第20题:
main( )
{ int i=29,j=6,k=2,s;
s=i+i/j%k-9;
printf(“s=%d\n”,s);
}
第21题:
设SUBSTR(S,i,k)是求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=’Beijing&Nanjing’,SUBSTR(S,4,5)=()。
第22题:
K=△I/I表示的定律是();S=KlgR表示的定律是()。
第23题:
βi±tα(n-k-1)s(βi)
βi±tα/2(n-k-1)s(βi)
βi±tα(n-k)s(βi)
βi±tα/2(n-k)s(βi)
第24题:
“ijing”
“jing&”
“ingNa”
“ing&N”