c语言数组有答案.docx
- 文档编号:25432775
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:19
- 大小:20.06KB
c语言数组有答案.docx
《c语言数组有答案.docx》由会员分享,可在线阅读,更多相关《c语言数组有答案.docx(19页珍藏版)》请在冰豆网上搜索。
c语言数组有答案
一、选择题
1.以下对一维整型数组a的正确说明是。
A.inta(10);B.intn=0,a[n];
C.intn;
scanf(“%d”,&n);
inta[n];
D.#defineSIZE10
inta[SIZE]
2.若有说明:
inta[10];,则对a数组元素的正确引用是。
A.a[10]B.a[3.5]C.a(5)D.a[10-10]
3.以下能对一维数组a进行正确初始化的语句形式是。
A.inta[10]=(0,0,0,0,0);B.inta[10]={};
C.doublea[][4];D.inta[10]={10*1};
4.以下对二维数组a的正确说明是。
A.inta[3][];B.floata(3,4);C.doublea[][4];D.floata(3)(4);
5.若有说明:
inta[3][4];则对a数组元素的正确引用是。
A.a[3][4]B.a[1,3]C.a[1+1][0]D.a
(2)
(1)
6.以下能对二维数组a进行正确初始化的语句是。
A.inta[2][]={{1,0,1},{5,2,3}};
B.inta[][3]={{1,2,3},{4,5,6}};
C.inta[2][4]={{1,2,3},{4,5},{6}};
D.inta[][3]={{1,0,1,0},{},{1,1}};
7.下面程序段(每行代码前面的数字表示行号)。
1inta[3]={3*0};
2inti
3for(i=0;i<3;i++)scanf(“%d”,&a[i]);
4for(i=1;i<3;i++)a[0]=a[0]+a[i];
5printf(“%d\n”,a[0]);
A.第1行有错误B.第5行有错误C.第3行有错误D.没有错误
8.若有定义floatx[4]={1.3,2.4,5.6},y=6;则错误的语句是。
A.y=x[3];B.y=x+1;C.y=x[2]+1D.x[0]=y;
9.定义如下变量和数组:
intk;
inta[3][3]={1,2,3,4,5,6,7,8,9};
则下面语句的输出结果是。
for(k=0;k<3;k++)printf(“%d”,a[k][2-k]);
A.357B.369C.159D.147
10.下面程序的运行结果是。
#include
intmain()
{inta[6][6],i,j;
for(i=1;i<6;i++)
for(j=1;j<6;j++)
a[i][j]=(i/j)*(j/i);
for(i=1;i<6;i++)
{for(j=1;j<6;j++)
printf("%2d",a[i][j]);
printf("\n");
}
return0;
}
A.11111
11111
11111
11111
11111
B.00001
00010
00100
01000
10000
C.10000
01000
00100
00010
00001
D.10001
01010
00100
01010
10001
11.下面是对数组s的初始化,其中错误的语句是。
A.chars[5]={“abc”};B.chars[5]={‘a’,‘b’,‘c’};
C.chars[5]=“”;D.chars[5]=“abcde”;
12.下面程序段的运行结果是。
(□表示1个空格)
charc[5]={'a','b','\0','c','\0'};
printf("%s",c);
A.'a''b'B.abC.ab□cD.ab□
13.有两个字符数组a、b,则以下正确的输入格式是。
A.gets(a,b);B.scanf(“%s%s”,a,b);
C.scanf(“%s%s”,&a,&b);D.gets(“a”),gets(“b”);
14.有字符数组a[80]和b[80],则正确的输出形式是。
A.puts(a,b);B.printf(“%s%s”,a[],b[]);C.putchar(a,b);D.puts(a),puts(b);
15.有下面的程序段,则。
chara[3],b[]="China";
a=b;
printf("%s",a);
A.运行后将输出ChinaB.运行后将输出Ch
C.运行后将输出ChiD.编译出错
16.下面程序段的功能是输出两个字符串中对应相等的字符,请选择填空。
charx[]="programming";
chary[]="Fortran";
inti=0;
while(x[i]!
='\0'&&y[i]!
='\0')
if(x[i]==y[i])printf("%c",);
elsei++;
A.x[i++]B.y[++i]C.x[i]D.y[i]
17.下面程序的功能是将字符串s中所有的字符c删除。
请选择填空。
#include
intmain()
{chars[80];inti,j;
gets(s);
for(i=j=0;s[i]!
='\0';i++)
if(s[i]!
='c');
s[j]='\0';
puts(s);
return0;
}
A.s[j++]=s[i]B.s[++j]=s[i]C.s[j]=s[i];j++D.s[j]=s[i]
18.下面程序的运行结果是。
#include
intmain()
{charch[7]={"12ab56"};
inti,s=0;
for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)
s=10*s+ch[i]-'0';
printf("%d\n",s);
return0;
}
A.1B.1256C.12ab56D.15
19.当运行以下程序时,从键盘输入:
ab<回车>c<回车>def<回车>,则下面程序的运行结果是。
#include
#defineN6
intmain()
{charc[N];
inti=0;
for(;i for(i=0;i return0; } A.abcdef B.a b c d e f C.b c d D.ab c d 20.下面程序的运行结果是。 #include intmain() {chara[]="morning",t;inti,j=0; for(i=1;i<7;i++) if(a[j] t=a[j];a[j]=a[7];a[7]=t; puts(a); return0; } A.mogninrB.moC.morningD.mornin 答案: 1.D2.D3.B4.C5.C6.B7.A8.B9.A10.C11.D 12.B13.B14.D15.D16.A17.A18.A19.D20.B 二、填空题 1.若有定义floata[3][5];则a数组所含数组元素个数是,a数组所占的字节数是。 2.若有定义: doublex[3][5];,则x数组中行下标的下限为,列下表的上限为。 3.假设M为已经声明的符号常量,则定义一个具有M×M个元素的双精度型数组a,且所有元素初值为0的形式是。 4.若有定义: inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是,a[2][1]得到的初值是。 5.下面程序给a数组输入数据并以每行4个数据的形式输出。 请填空。 #include #defineN20 intmain() {inta[N],i; for(i=0;i for(i=0;i {if() printf("%3d",a[i]); } printf("\n"); return0; } 6.下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中,请填空。 #include intmain() {inta[2][3]={{1,2,3},{4,5,6}}; intb[3][2],i,j; printf("arraya: \n"); for(i=0;i<=1;i++) {for(j=0;;j++) {printf("%5d",a[i][j]); ; } printf("\n"); } printf("arrayb: \n"); for(i=0;;i++) {for(j=0;j<=1;j++) printf("%5d",b[i][j]); printf("\n"); } return0; } 7.下面程序段的运行结果是。 intx[5],i; x[0]=1;x[1]=2; for(i=2;i<5;i++)x[i]=x[i-1]+x[i-2]; for(i=2;i<5;i++)printf("%d",x[i]); 8.下面程序的运行结果是。 #include intmain() {inta[5][5],i,j,n=1; for(i=0;i<5;i++) for(j=0;j<5;j++) a[i][j]=n++; printf("Theresultis: \n"); for(i=0;i<5;i++) {for(j=0;j<=i;j++) printf("%4d",a[i][j]); printf("\n"); } return0; } 9.以下程序的功能是求1000以内的水仙花数。 (提示: 所谓水仙花数是指一个3位正整数,其各位数字的立方之和等于该正整数。 例如: 407=4×4×4+0×0×0+7×7×7,故407是一个水仙花数。 )请填空。 #include intmain() {intx,y,z,a[8],m,i=0; printf("Thespecialnumbersare: \n"); for(;m++) {x=m/100;y=;z=m%10; if(m==x*x*x+y*y*y+z*z*z) {;i++;} } for(x=0;x printf("%6d",a[x]); printf("\n"); return0; } 10.下面程序的运行结果是。 #include intmain() {inta[10]={7,3,5,2,9,1,0,6,8,4},i=0,j=9,t; while(i {t=a[i];a[i]=a[j];a[j]=t; i+=2;j-=2; } for(i=0;i<10;i+=2)printf("%d",a[i]); return0; } 11.下面程序的功能是输入5个整数,找出最大数和最小数所在的位置,并把二者对调,然后输出调整后的5个整数。 请填空。 #include intmain() {inta[5],max,min,i,j=0,k=0,t; for(i=0;i<5;i++) scanf("%d",&a[i]); min=a[0]; for(i=1;i<5;i++) if(a[i] max=a[0]; for(i=1;i<5;i++) if(a[i]>max){max=a[i];;} printf("\nThepositionofminis: %3d\n",k); printf("Thepositionofmaxis: %3d\n",j); for(i=0;i<5;i++) printf("%5d",a[i]); printf("\n"); return0; } 12.下面程序的功能是检查一个二维数组是否对称(即对所有i、j都有a[i][j]=a[j][i])。 请填空。 #include intmain() {inta[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4}; inti,j,found=0; for(j=0;j<4;j++) for(;i<4;i++) if(a[j][i]! =a[i][j]) {;break;} if(found==1)printf("No\n"); elseprintf("Yes\n"); return0; } 13.设数组a中的元素均为正整数,以下程序是求a中偶数的个数和偶数的平均值。 请填空。 #include intmain() {inta[10]={1,2,3,4,5,6,7,8,9,10}; intk,s,i; floatave; for(k=s=i=0;i<10;i++) {if(a[i]%2! =0); s+=; k++; } if(k! =0) {ave=s/k;printf("%d,%f\n",k,ave);} return0; } 14.以下程序是将矩阵a、b的和存入矩阵c中并按矩阵形式输出。 请填空。 #include intmain() {inta[3][4]={{3,-2,7,5},{1,0,4,-3},{6,8,0,2}}; intb[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,2}}; inti,j,c[3][4]; for(i=0;i<3;i++) {for(j=0;j<4;j++) {c[i][j]=; printf("%3d",c[i][j]); } ; } return0; } 15.以下程序段的功能是求数组num中小于零的数据之和。 请填空。 intnum[20]={10,20,1,-20,203,-21,2,-2,-2,11,-21,22,12,-2,-234,-90,22,90,-45,20}; intsum=0,i; for(i=0;i<=19;i++) if()sum=; printf("sum=%6d",sum); 16.以下程序段的功能是,运行后输出结果是。 intnum[10]={103,1,-20,-203,-21,2,-2,-2,13,-21}; intsum=0,i; for(i=0;i<10;i++) if(num[i]>0&&num[i]%10==3) sum=sum+num[i]; printf("sum=%d\n",sum); 17.下面程序用“快速顺序查找法”判断数组a中是否存在某一数。 请填空。 #include intmain() {inta[9]={25,57,48,37,12,92,86,33},i,x; scanf("%d",&x); i=0;; while(a[i]! =x)i++; if()printf("Found! Theindexis: %d\n",i); elseprintf("Can'tfound! \n"); return0; } 18.下面程序是用“插入法”对数组a进行降序排序。 请填空。 #include intmain() {inta[5]={4,7,2,5,1},i,j,m; for(i=1;i<5;i++) {m=a[i]; j=; while(j>=0&&m>a[j]) {;j--;} =m; } for(i=0;i<5;i++)printf("%3d",a[i]); printf("\n"); return0; } 19.下面程序用“两路合并法”把两个已按升序排列的数组合并成一个升序数组。 请填空。 #include intmain() {inta[3]={5,9,10}; intb[5]={12,24,26,37,48}; intc[10],i=0,j=0,k=0; while(i<3&&j<5) if() {c[k]=b[j];k++;j++;} else {c[k]=a[i];k++;i++;} while() {c[k]=a[i];i++;k++;} while() {c[k]=b[j];j++;k++;} for(i=0;i putchar('\n'); return0; } 20.字符串"ab\n\\012\\\""的长度是。 21.下面程序段将输出computer。 请填空。 charc[]="Itisacomputer"; inti,j; for(i=0;;i++) {;printf("%c",c[j]);} 22.下面程序的功能是从键盘输入一个大写英文字母,要求按字母的顺序打印出3个相邻的字母,指定的字母在中间。 若指定的字母为Z,则打印出YZA;若为A,则打印出ZAB。 请填空。 #include intmain() {chara[3],c; inti; c=getchar(); a[1]=c; if(c=='Z'){a[2]='A';;} elseif(c=='A'){a[0]='Z';;} else{a[0]=c-1;a[2]=c+1;} for(i=0;i<=2;i++)putchar(a[i]); return0; } 23.下面程序段的功能是将字符数组a[6]={'a','b','c','d','e','f'}变为a[6]={'f','a','b','c','d','e'}。 请填空。 #include intmain() {chart,a[6]={'a','b','c','d','e','f'}; inti; ; for(i=4;i>=0;i--); a[0]=t; for(i=0;i<=5;i++)putchar(a[i]); return0; } 24.下面程序的功能是在任意的字符串a中,将与字符c相等的所有元素的下标值分别存放在整型数组b中。 请填空。 #include intmain() {chara[80]; inti,b[80],k=0; gets(a); for(i=0;a[i]! ='\0';i++) if(){b[k]=i;;} for(i=0;i return0; } 25.有10个字符串。 下面程序的功能是在每个字符串中找出最大字符,并按一一对应的顺序放入一维数组a中,即第i个字符串中的最大字符放入a[i]中,输出每个字符串中的最大字符。 请填空。 #include intmain() {chars[10][20],a[10]; inti,j; for(i=0;i<10;i++)gets(s[i]); for(i=0;i<10;i++) {; for(j=1;s[i][j]! ='\0';j++) if(a[i] } for(i=0;i<10;i++)printf("%d%c\n",i,a[i]); return0; } 答案: 1.15602.043.doublea[M][M]={0};4.06 5.scanf(“%d”,&a[i]) i%4==0printf(“\n”); 6.j<=2b[j][i]=a[i][j]i<=2 7.358 8.1 67 111213 16171819 2122232425 9.m=100;m<=999m/10%10a[i]=m 10.46108 11.k=ij=ia[j]=min;a[k]=max; 12.i=j+1found=1; 13.continuea[i] 14.a[i][j]+b[i][j]printf(“\n”) 15.num[i]<0sum+num[i] 16.计算数组num中大于零且个位数为3的数据之和116 17.a[8]=xi<8 18.i-1a[j+1]=a[j]a[j+1] 19.b[j] 20.9 21.i<=7j=i+8 22.a[0]=c-1a[2]=c+1 23.t=a[5]a[i+1]=a[i] 24.a[i]==’c’k++ 25.a[i]=s[i][0]a[i]=s[i][j]
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 数组 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)