资源描述:
《第7章 数组习题解答》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第7章数组习题解答1.以下各题中,选择一个正确的翻案。⑴能正确对一维数组a中所有元素进行初始化的是(D)。A.inta[5]={}B.inta[]={0}C.inta[5]=0,0,0,0,0D.inta[5]={0}#includevoidmain(){inti;inta[5]={0};for(i=0;i<5;i++)printf("%d",a[i]);}⑵有说明intk=3,a[10];则下列可以正确引用数组元素的表达式是(A)。A.a[k]B.a[10]C.a[1.3]D.a[3*5]⑶有定义intd[][3]={1,2,3,4,5,6};执行语句printf("%c"
2、,d[1][0]+'A');结果是(D)。A.AB.BC.DD.E#includevoidmain(){intd[][3]={1,2,3,4,5,6};printf("%c",d[1][0]+'A');}⑷有定义charc='A',ch[20]={'a','b','c',' ','d',' '};若执行:printf("%s",ch);结果为(B)。A.‘abc’B.abcC.abcdD.abc d#includevoidmain(){charc='A',ch[20]={'a','b','c',' ','d',' '};printf("%s",ch
3、);}⑸对数组进行初始化charcarr[]={'s','t','u','d','e','n','t'},barr[]="student";则正确的是(D)。A.carr与barr长度相同B.carr比barrC.carr与barr相同D.carr比barr短#includevoidmain(){charcarr[]={'s','t','u','d','e','n','t'},barr[]="student";}2.阅读下列程序,写出运行结果。⑴#includevoidmain(){inti,j,d[4][4]={{1,2,3,4},{5,6,7,8},{4
4、,3,2,1},{1,2,3,4}};for(i=0;i<4;i++)for(j=0;jd[j][i])d[j][i]=d[i][j];for(i=0;i<4;i++){printf("");for(j=0;j<4;j++)if(j>=i)printf("%6d",d[i][j]);//显示主对角线以上的元素elseprintf("%6c",'');}putchar('');}运行结果:1544678234⑵若输入十进制数3291时,下列程序输出为:6333#includevoidmain(){inti,d,m,n;chars[8]
5、;scanf("%d",&n);i=0;//存储字符数组下标do{m=n/8;d=n%8;s[i]='0'+d;//余数转换为数字字符i++;n=m;//商作为下一轮行循环操作的被除数}while(n!=0);//商不为0,继续循环for(i--;i>=0;i--)putchar(s[i]);}3.程序填空。⑴从键盘输入一个数,将其插入到一个升序数组中,保持数组仍然按升序排列。#includevoidmain(){intdata,temp,k;staticinta[9]={-10,2,4,8,10,15,25,50};printf("Enteradata:");scanf
6、("%d",&data);a[8]=data;for(k=8;k>=0;k--){if(a[k]voidmain(){intdata,k;staticinta[9]={-10,2,4,8,10,15,25,50};printf("
7、Enteradata:");scanf("%d",&data);for(k=8;k>=0;k--){if(data>a[k-1]
8、
9、k==0){a[k]=data;break;}else{a[k]=a[k-1];}}for(k=0;k<=8;k++)printf("%7d",a[k]);putchar('');}运行该程序:Enteradata:9-10248910152550⑵从键盘输入