数组练习题及答案(5)

2018-12-05 13:33

for(I=0;I<4;I++) for(j=0;J

13、以下程序是求矩阵a,b的和,结果存入矩阵c中并按矩阵形式输出。请填空。

2 -1 -7 -9 a= -4 0 b= -8 10 3 1 main()

{int a[3][2]={2,-1,-4,0,3,1}; int b[4][3]={7,-9,-8,10}; int I,j,k,s,c[3][2]; for(I=0;I<3;I++) for(j=0;j<2;j++)

{for(s=0,k=0;k<2;k++) s+=a[i][k]*b[k][j]; c[i][j]=s; } for(I=0;I<3;I++) {

for(j=0;j<2;j++) printf(―m‖,c[I][j]); printf(―\\n‖); } }

14、下面程序的运行结果是( )。 main()

{int I,j,row,col,min;

int a[3][4]={{1,2,3,4},{9,8,7,6},{-1,-2,0,5}}; min=a[0][0];

21

for(I=0;I<3;I++) for(j=0;j<4;j++) if(a[i][j]

{min=a[i][j];row=I;col=j;} printf(―%d,%d,%d\\n‖,min,row,col); }

15、找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。

void f31(int m, int n, int arr[] ) {int I,j,k,max,row,col,flag; for(I=0;I

{max=arr[I*n+0]; row=I;col=0; for(j=1;j

if(arr[I*n+j]>max) {max=arr[I*n+j]; row=I;col=j;}

flag=1;

for(k=0;k

if(arr[k*n+j]

if(flag==1) printf(―鞍点的位置:第%d行,第%d列‖,I,j); } }

16、打印出以下的杨辉三角形(包括10行)

1 1 1 1 1

1 2 1 3 3 1 4 6 4 1

1 5 10 10 5 …....….....

main()

{int a[10][10],I,j; for(I=0;I<10;I++)

{

a[I][0]=1; a[I][I]=1;

22

}

for(I=2;I<10;I++) for(j=1;J

a[I][j]=a[I-1][j]+a[I-1][J-1]; }

17、下面是一个5*5阶螺旋方阵。试编程打印出此形式的n*n的方阵 1 2 3 4 5 16 17 18 19 6 15 24 25 20 7 14 23 22 21 8 13 12 11 10 9 main()

{ int a[10][10],I,j,k=0,m,n; printf(―%d‖,&n); if(n%2==0) m=n/2; else m=n/2+1; for(I=0;I=I;j--) {k++;a[n-I-1][j]=k;} for(j=n-I-2;j>=I+1;j--) {k++;a[j][i]=k;} }

for(I=0;I

printf(―]‖,a[i][j]); printf(―\\n‖); } }

18、有已排好序的字符串a,下面的程序是将字符串s中的每个字符按升

23

序的规律插入到a中。请填空。 #include main() {

char a[20]=‖cehiknqtw‖; char s[]=‖fbla‖; int I,k,j;

for(k=0;s[k]!=‘\\0‘;k++) {j=0;

while(s[k]>=a[j]&&a[j]!=‘\\0‘) j++ for(________________) (__________________); a[j]=s[k]; } puts(a); }

19、下面程序的功能是在三个字符串中找出最小的。请填空。 main()

{char s[20],str[3][20];

int I;

for(I=0;I<3;I++) gets(str[i]); strcpy(s,________);

if(strcmp(str[2],s)<0) strcpy(s,str[2]); printf(―%s\\n‖,__________); }

20、下面程序的运行结果是( )

#include ―stdio.h‖ main( )

{char s[ ]=‖ABCCDA‖,c; int k; for(k=1;(c=s[k])!=‘\\0‘;k++) {switch(c)

{case ?A‘:putchar(?%‘);continue;

case ?B‘:++k;break; default:putchar(?*‘);

24

case ‘C‘:putchar(?&‘);continue; }

putchar(?#‘); } }

21、输入一行字符,统计其中有多少个单词,规定单词间以一个或多个空格相隔。

#include ―stdio.h‖ main( ) {

char string[81]; int I,s=0,flag=0; gets(string);

for(I=0;string[i]!=‘\\0‘;I++) {

if((flag==0)&&(a[i]>=‘a‘&&a[i]<=‘z‘)||(a[i]>=‘A‘&&a[i]<=‘Z‘))

{flag=1; s=s+1; }

if a[i]=‘ ‘ flag=0;

}

printf(―%d‖,s);

}

附录:答案 一、 选择题

1—5 DDCBA 6—10 BDABB 11—15 CCCBC 16—20 DDCBB 21—25 BBAAA 26—30 DBDDB

二、 填空题

1、 continue a[I] 2、7 3、t=a[5] I=5 4、t*m 5、1 3 4 5 6、10010 7、the number is:5,the average is:5.000000

8、a[1]=3 a[2]=4 a[3]=3 9、PAGE 10、y 2 –28

25

11、strcmp(str[0],str[1])? S 12、600 13、1001 14、15 I+8 15、6

三、判断题

1—5 错对对对对 6—10 错对错错错 11—12对对

四、程序填空

1、i=0 n/2-1 2、i

4、i=0 n-1 5、min=a[0] k=i max=a[0] j=i 6、flag=0 flag==0 a[i][j]=‘‘

7、int i; for(i=n;i

12、b[j][i]=a[i][j] 14、scanf(―%s‖,c[i]); p=I; j=i+1 strcmp(c[j],c[i])

五、综合应用

2、1 3 4 5 3、0 1 2 3 4 4、a[I]>b[j] j<5 I<3 5、break x!=a[I] 6、void f(int a[],int n) {int I,t;

for(I=0;I

{t=a[I]; a[I]=a[n-I]; a[n-I]=t;}} 7、 1 2 3 4 5 8、10010 18、(I=strlen(a);I>=I;I--) a[I+1]=a[I]

19、(strcmp(str[0],str[1]))<0?str[0]:str[1] s 20、#&*&%

26


数组练习题及答案(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:最新苏教版三上语文补充习题答案201809

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: