已知以下程序段的运行结果为“654321”,则下划线所在位置应填入的代码是() #define N 6 int a[N]={1,2,3,4,5,6},i,t; for(i=0;i<________;i++){t=a[i];a[i]=a[N-i-1];a[N-i-1]=t;} for(i=0;i
第1题:
下列给定程序中,函数fun()的功能是求出数组中最小数和次最小数,并把最小数和a[0]中的数对调,次最小数和a[1]中的数对调。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
include <conio.h>
include <stdio.h>
define N 20
void fun(int *a,int n)
{
int i, m,t,k;
/*************found**************/
for(i=O; i<n; i++)
{
m==i;
for(k=i; k<n; k++)
if(a[k]<a[m])
/*************found**************/
k=m;
t=a[i];
a[i]=a[m];
a[m]=t;
}
}
main()
{
int x,b[N]={11,5,12,0,3,6,9,7,10,8},
n=10,i;
clrscr();
for(i=0; i<n; i++)
printf("%d",b[i]);
printf("\n");
fun(b,n);
for(i=0; i<n; i++)
printf("%d",b[i]);
printf("\n");
}
第2题:
以下程序的输出结果是
#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
第3题:
有以下程序
int a=4;
int f(int n)
{ int t=0; static int a=5;
if(n%2) {int a=6; t+=a++;}
else {int a=7 ;t +=a++ ; }
return t+a++ ;
}
main( )
{ int s=a , i=0 ;
for( ; i 〈 2 ; i++) s+=f(i);
printf ("%d\n",s);
}
程序运行后的输出结果是
A)24
B)28
C)32
D)36
第4题:
以下程序的输出结果是 #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
第5题:
以下程序的输出结果是 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
第6题:
阅读下列程序说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。
【说明】
程序利用选择排序算法对数组a中的N个整数按照从小到大的顺序排列,并将排序结果显示出来。
【程序】
define N 10
main()
{
void (1);
int i,a[N];
for(i=0;i<10,i++) /*输入*/
scanf(“%d”,&a[i]);
(2);
for(i=0;i<N,i++) /*输出*/
printf(“%3d”,a[i]);
}
void selectSon(int x[],int n)
{
int i,j,k,t;
for(int i=0; (3);i++)
{
k=i;
for(j=i+1;j<n;j++)
if (4) k=j;
if (5)
{t=x[i];x[i]=x[k];x[k] =t;}
}
}
第7题:
有以下程序: #include<string.h> int a=4; int f(int n) {int t=0;static int a=5; if(n%2) {int a=6;t++=a++;} else{int a=7;t+=a++;} return t+a++; } main() {int s=a,i=0; for(;i<2;i++)s+=f(i); printf("%d\n",s); } 程序运行后的输出结果是( )。
A.24
B.28
C.32
D.36
第8题:
有以下程序
#include <stdio.h>
void fun(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 k[10]={1,2,3,4,5,6,7,8,9,10},i;
fun(k,5);
for(i=2;i<8;i++) printf("%d",k[i]);
printf("\n");
}
程序的运行结果是
A)345678
B)876543
C)1098765
D)321678
第9题:
请补充main函数,该函数的功能是:把一维数组中的元素逆置。结果仍然保存在原数组中。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
include <stdio.h>
define N 10
main ( )
{
int i, j, t;
int bb[N];
clrscr ();
for (i=0; i<N; i++)
bb[i]=i;
printf("\n*** original list ***\n");
for (i=0;i<N; i++)
printf ("%4d",bb [i] );
for(【 】; j<=i;【 】)
{
t=bb [j ];
bb [j ] =bb [i];
bb[i]=t;
}
printf("\n****** new list ******\n");
for (i=0; i<N; i++)
printf ("%4d",bb [i] );
}
第10题:
有以下程序: int a=2; int f(int n) { static int a=3; int t=0; if(n % 2)(static int a=4; t+=a++;} else{static int a=5; t+=a++;} return t+a++; } matin() { int s=a, i; for(i=0; i<3; i++)s+=f(i); printf("% d\n", s); } 程序运行后的输出结果是______。
A.26
B.28
C.29
D.24