C语言程序复习题及参考答案 下载本文

for(j=1;j<=2;j++)

if(y[k][j]

printf(“%d,%d\\n”,m[k],m[k+1]); }

3. 以下程序运行后的输出运行结果

#include main() {

int i,a[10];

for(i=0;i<=9;i++) a[i]=i;

for(i=10;i>=1;i--)

printf(\ printf(\}

4.以下程序运行后的输出结果是 main()

{ int i,n[]={0,0,0,0,0};

for(i=1;i<=4;i++) {

n[i]=n[i-1]*2+1; printf(\} }

5. 以下程序运行后的输出结果是 void main( ) { int i,a[10]; for(i=0;i<=9;i++)

a[i]=i+1;

for(i=9;i>=7;i--)

printf(\ }

6.以下程序输出的结果是 。 main()

{ char s[]=\s[3]='\\0';

printf(\}

第 43 页 共 88 页

7.以下程序输出的结果是 。

#include #include main() {

char p1[10]=\strcpy(str+2,strcat(p1,p2)); printf(\}

8.以下程序输出的结果是 。

#include main() {

int i=5;

static char c[6]=\do {

c[i]=c[i-1]; i--; }while(i>0); puts(c); }

9.以下程序输出的结果是 。

void main( )

{ char *s=\int v1=0,v2=0,v3=0,v4=0,k; for(k=0;s[k];k++) switch(s[k]) { case '1': v1++; case '3': v3++;break; case '2': v2++; default: v4++; }

printf(\

10、main( )

{ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=0;i<3;i++) for(j=0;j

第 44 页

共 88 页

}

s+=a[i][j];

printf(“%d\\n”,s); }

结果是 。

四、 完善程序

1. 下面程序的功能是:将二维数组a的行和列元素互换后存到另一个二维数组b中。请完善程序: main()

{ int i,j,b[3][2],a[2][3]={{1,2,3},{4,5,6}}; printf(\ for(i=0;i<2;i++)

{for(j=0; ;j++) {printf(\

b[j][i]= ; } printf(\ }

printf(\

for(i=0; ;i++) {for(j=0;j<=1;j++)

printf(\ printf(\}

2. 有一个3×4的矩阵,要求编程以求出其中值最大的那个元素,以及它所在的行号和列号。请完善程序:程序如下: main() {

int i,j,row,col,max;

int a[3][4]={{3,5,1,8},{6,4,11,7},{9,3,10,2}}; max= ; for(i=0;i<3;i++) for(j=0;j<4;j++) if( )

{ max= ; row=i; col=j; }

printf(\ }

3.下面程序将字符数组a复制到字符数组b中。

main() {

第 45 页 共 88 页

char a[]=\int i;

for(i=_______;a[i]!='\\0';i++) {

_____________; }

______________; }

4.下面程序段将字符数组b连接到数组a的后面。

main() {

char a[20]=.\char b[]=.\int i,j; i=strlen(a);

for(j=_____;b[j]!='\\0';j++) {

a[_____]=b[______]; }

a[______]=_______; }

5.用数组来处理求Fibonacci数列问题。

main( ) {

int i;

; for(i=2; i<20; i++)

; for(i=0; i<20; i++) {

if(i%3= =0) printf(“\\n”); printf(“d” , f[i]); } }

6.以下程序从输入终端读入数据到数组中,统计其中正数的个数,并计算正数之和及平均值。 main()

{ int i,a[20],count;float ave,sum; sum=0.0;count=0;ave=0;

for(i=0;i<20;i++) scanf(\ for(i=0;i<20;i++) { if( ) { count++;

sum+= ; }

第 46 页 共 88 页