C语言数组选择题(新)五篇

时间:2019-05-12 07:56:38下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C语言数组选择题(新)》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C语言数组选择题(新)》。

第一篇:C语言数组选择题(新)

1、以下定义语句中,错误的是________。A)int a[]={1,2};

B)char a[]={“test”};C)char s[10]={“test”};

D)int n=5,a[n];D

2、以下对一维数组a进行正确初始化的是__________。A)int a[10]=(0,0,0,0,0);

B)int a[10]={ };C)int a[ ]={0};

D)int a[10]={ 10*2};C

3、以下对二维数组a进行正确初始化的是__________。

A)int a[2][3]={ {1,2},{3,4},{5,6} };

B)int a[ ][3]={1,2,3,4,5,6 };C)int a[2][ ]={1,2,3,4,5,6};

D)int a[2][ ]={ { 1,2},{3,4}};B

4、在定义int a[5][4];之后,对a的引用正确的是________。A)a[2][4]

B)a[1,3] C)a[4][3]

D)a[5][0] C

5、以下给字符数组str定义和赋值正确的是________。A)char str[10];str={“China!”};B)char str[ ]={“China!”};C)char str[10];

strcpy(str,“abcdefghijkl”);D)char str[10]={“abcdefghijkl”};B

6、以下一维数组a的正确定义是________。A)int a(10);

B)int n=10,a[n];C)int n;

D)#define SIZE 10

scanf(“%d”,&n);

int a[SIZE];

int a[n];D

7、在执行语句: int a[ ][3]={1,2,3,4,5,6};后,a[1][0]的值是________。

A)4

B)1 C)2

D)5 A

8、当接受用户输入的含有空格的字符串时,应使用________函数。A)gets()

B)getchar()C)scanf()

D)printf()A

9、在定义int a[5][6];后,数组a中的第10个元素是________。(设a[0][0]为第一个元素)A)a[2][5]

B)a[2][4] C)a[1][3]

D)a[1][5] C

10、执行下面的程序段后,变量k中的值为__________。int k=3,s[2];s[0]=k;k=s[1]*10;A)不定值

B)33 C)30

D)10 A

11、下列程序执行后的输出结果是__________。

main()

{int a,b[5];

a=0;b[0]=3;

printf(“%d,%dn”,b[0],b[1]);} A)3,0

B)3 0 C)0,3

D)3,不定值 D

12、设有数组定义:char array[]=“China”;则strlen(array)的值为________。

A)4

B)5 C)6

D)7 B

13、下列程序执行后的输出结果是__________。main(){ int i,j,a[3][3];

for(i=0;i<3;i++)

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

printf(“%d,%dn”,a[1][2],a[2][1]);

} A)2,2

B)不定值,2 C)2

D)2,0 B

14、设有数组定义:char array[]=“China”;则数组array所占 的存储空间为________。

A)4个字节

B)5个字节 C)6个字节

D)7个字节 C

15、设有数组定义:char array[10]= “China”;则数组array所占 的存储空间为________。

A)4个字节

B)5个字节 C)6个字节

D)10个字节 D

16、已知数组a的赋值情况如下所示,则执行语句a[2]++;后a[1]和a[2]的值 分别是________。

a[0] a[1] a[2] a[3] a[4]

┌──┬──┬──┬──┬──┐

│ 10 │ 20 │ 30 │ 40 │ 50 │

└──┴──┴──┴──┴──┘ A)20和30

B)20和31 C)21和30

D)21和31 B

17、以下程序输出a数组中的最小值及其下标,在划线处应填入的是________。main(){ int i,p=0,a[10];

for(i=0;i<10;i++)scanf(“%d”,&a[i]);

for(i=1;i<10;i++)

if(a[i]

printf(“%d,%dn”,a[p],p);

} A)i=p

B)a[p]=a[i] C)p=j

D)p=i D

18、以下程序的输出结果是________。main(){ int i,p=0,a[10]={1,5,9,0,-3,8,7,0,1,2};

for(i=1;i<10;i++)

if(a[i]

printf(“%d,%dn”,a[p],p);

} A)-3,4

B)0,1 C)9,2

D)2,9 A

19、有如下说明:

int a[10]={0,1,2,3,4,5,6,7,8,9};则数值不为9的表达式是________。A)a[10-1]

B)a[8] C)a[9]-0

D)a[9]-a[0] B 20、有如下程序

main()

{ int n[5]={0,0,0},i,k=3;

for(i=0;i

printf(“%dn”,n[k]);

} 该程序的输出结果是________。A)不确定的值

B)4 C)2

D)0 D

21、有如下程序 main(){ int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;

for(i=1;i<3;i++)

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

printf(“%dn”,s);

} 该程序的输出结果是________。A)18

B)19 C)20

D)21 A

22、以下程序的输出结果是________。

main()

{ int i,x[9]={9,8,7,6,5,4,3,2,1};

for(i=0;i<4;i+=2)printf(“%d ”,x[i]);

} A)5 2

B)5 1 C)5 3

D)9 7 D

23、以下程序的输出结果是________。

main()

{ int i,x[3][3]={9,8,7,6,5,4,3,2,1};

for(i=0;i<3;i+=1)printf(“%5d”,x[1][i]);

} A)6 5 4

B)9 6 3 C)9 5 1

D)9 8 7 A

24、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,当输入负数时结束。划线处应分 别填入_________。main(){ float x[1000],sum=0.0,ave,a;int n=0,i;

printf(“Enter mark:n”);scanf(“%f”,&a);

while(a>=0.0 && n<1000)

{ sum+=______;x[n]=a;

n++;

scanf(“%f”,&a);

}

ave=________;

printf(“Output :n”);

printf(“ave=%fn”,ave);

for(i=0;i

if(x[i]

} A)a和sum/n

B)x[n]和sum/n C)a和sum/i

D)a和sum/1000 A

25、下面程序的输出结果是________。

main()

{ int a[]={1,8,2,8,3,8,4,8,5,8};

printf(“%d,%dn”,a[4]+3,a[4+3]);

} A)6,6

B)8,8 C)6,8

D)8,6 C

26、如有定义语句int a[]={1,8,2,8,3,8,4,8,5,8};,则数组a的大小是________。A)10

B)11 C)8

D)不定 A

27、以下程序的输出结果是_________。

main()

{ int i,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

printf(“%d,”,x[i][2-i]);

printf(“n”);

} A)1,5,9,B)1,4,7, C)3,5,7,D)3,6,9, C

28、以下程序的输出结果是________。

main()

{ int i,x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++)

printf(“%d,”,x[i][i]);

printf(“n”);

} A)1,5,9,B)1,4,7, C)3,5,7,D)3,6,9, A

29、以下程序的输出结果是________。main(){ int a[3][3]={{1,2,3},{3,4,5},{5,6,7}},i,j,s=0;

for(i=0;i<3;i++)

for(j=i;j<3;j++)s+=a[i][j];

printf(“%dn”,s);

} A)26

B)36 C)19

D)22 D 30、下面程序的输出是________。

main()

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

printf(“%dn”,a[a[1]*a[2]]);

} A)3

B)4 C)7

D)2 C

31、下面程序的输出是________。main(){int aa[3][3]={{2},{4},{6}};int i,p=aa[0][0];for(i=0;i<2;i++)

{if(i==0)

aa[i][i+1]=p+1;

else ++p;

printf(“%d”,p);

}

} A)23

B)26 C)3

D)36 A

32、以下程序的输出结果是________。

main()

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

int j,s=0;

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

s+=a[j][j];

printf(“%dn”,s);

} A)36

B)26 C)22

D)20 C

33、以下程序执行后的输出结果是________。(设a[0][0] 是数组a中的第1个元素)

#include

main()

{ int a[4][5]={1,2,4,8,10,-1,-2,-4,-8,-10,3,5,7,9,11};

int i,j,n=9;

i=n/5;j=n-i*5-1;

printf(“NO.%d: %d,%d is %dn”,n,i,j,a[i][j]);} A)第n个元素所在的行和列及其该元素的值 B)第n行的最大元素所在的行和列及其最大值 C)第i行的最大元素所在的行和列及其最大值 D)以上都不对 A

34、下面程序统计3个学生,每个学生4门课程的考试成绩,要求输出 每个学生的总成绩、每个学生的平均成绩、12个学生的总成绩。正确的说法是________。main(){ int stu[3][4],i,j,t[3];

float sum=0,a[3];

for(i=0;i<3;i++)

for(j=0;j<4;j++)scanf(“%d”,&stu[i][j]);

for(i=0;i<3;i++)

{t[i]=0;

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

{sum+=stu[i][j];

t[i]+=stu[i][j];

printf(“%-6d”,stu[i][j]);}

a[i]=t[i]/4;

printf(“%-6.2fn”,a[i]);

}

printf(“average = %.2fn”,sum/12.0);} A)数组a的每个元素中存放的是每个学生的总成绩 B)数组t的每个元素中存放的是每个学生的平均成绩 C)从键盘上输入成绩的顺序是按课程输入 D)从键盘上输入成绩的顺序是按学生输入 D

35、下面程序的功能是________。#include #include main(){ char a[]=“clanguage”,t;

int i,j,k;

k=strlen(a);

for(i=0;i<=k-1;i+=1)

for(j=i+1;j

if(a[i]>a[j])

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);

printf(“n”);

} A)将字符数组a中的元素从小到大排序 B)将字符数组a中的元素从大到小排序 C)求字符数组a中的最大元素 D)将字符数组a中的最小元素 A

36、下面程序的运行以后的结果是________。main(){ char a[]=“clanguage”,t;

int i,j,k;

k=strlen(a);

for(i=0;i<=k-1;j+=1)

for(j=i+1;j

if(a[i]>a[j])

{t=a[i];a[i]=a[j];a[j]=t;}

puts(a);

printf(“n”);

} A)clanguage

B)alancuegg C)egauganlc

D)cgalgnaue B

37、以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数。例如,输入的字符串为:556,则输出十进制整数366,划线处应填________。#include main(){ char s[6];

int n,j;

gets(s);

if(s[0]!='')n=s[0]-'0';

j=1;

while(s[j++]!='')____________;

printf(“%dn”,n);

} A)n=n*8+s[j]

B)n=n*8+s[j-1]-'0' C)n=n*8+s[j]-''

D)n=n*8+s[j-1]-'' B

38、有如下程序 main(){ char ch[2][5]={“6937”,“8254”};

int i,j;long s=0;

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

for(j=0;ch[i][j]>'';j++)

s=10*s+ch[i][j]-'0';

printf(“%ldn”,s);

} 该程序的输出结果是________。A)69825

B)693825 C)6385

D)69378254 D

39、有如下程序 main(){ char ch[80];

int j;long s=0;

printf(“Enter a numeral stringn”);gets(ch);

for(j=0;ch[j]>'';j++)

s=10*s+ch[j]-'0';

printf(“%ldn”,s);

} 如果运行时,从键盘上输入由数字组成的字符串,该程序的功能是________。A)测字符数组ch的长度

B)将数字字符串ch转换成十进制数 C)将字符数组中的小写字母转换成大写 D)将字符数组中的大写字母转换成小写 B 40、有如下程序

main()

{ char ch[80]=“123abcdEFG*&”;

int j;long s=0;

puts(ch);

for(j=0;ch[j]>'';j++)

if(ch[j]>='a'&&ch[j]<='z')ch[j]=ch[j]-'b'+'B';

puts(ch);} 该程序的功能是________。A)测字符数组ch的长度

B)将数字字符串ch转换成十进制数

C)将字符数组ch中的小写字母转换成大写 D)将字符数组ch中的大写字母转换成小写 C

41、有如下程序 main(){ char ch[80]=“123abcdEFG*&”;

int j;long s=0;

for(j=0;ch[j]>'';j++);

printf(“%dn”,j);

} 该程序的功能是________。A)测字符数组ch的长度

B)将数字字符串ch转换成十进制数

C)将字符数组ch中的小写字母转换成大写 D)将字符数组ch中的大写字母转换成小写 A

42、以下程序的输出结果是________。main(){ char a[10]={'1','2','3',0,'5','6','7','8','9',''};

printf(“%sn”,a);

} A)123

B)1230 C)123056789

D)1230567890 A

43、以下程序的输出结果是________。main(){ int n[3][3],i,j;

for(i=0;i<3;i++)

for(j=0;j<3;j++)n[i][j]=i+j;

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

for(j=0;j<2;j++)n[i+1][j+1]+=n[i][j];

printf(“%dn”,n[i][j]);

} A)14

B)0 C)6

D)值不确定 C

44、以下程序的输出结果是________。main(){ char s[]={“12134211”};int v[4]={0,0,0,0},k,i;

for(k=0;s[k];k++)

{ switch(s[k])

{ case '1':i=0;break;

case '2':i=1;break;

case '3':i=2;break;

case '4':i=3;

}

v[i]++;

}

for(k=0;k<4;k++)printf(“%d ”,v[k]);

} A)4 2 1 1

B)0 0 0 8 C)4 6 7 8

D)8 8 8 8 A

45、以下程序输出的结果是________。#include main(){ int a[ ]={1,2,3,4,5},i,j,s=0;

j=1;

for(i=4;i>=0;i--){ s=s+a[i]*j;j=j*10;}

printf(“s=%dn”,s);} A)s=12345

B)s=1 2 3 4 5 C)s=54321

D)s=5 4 3 2 1 A

46、以下程序输出的结果是________。#include main(){ int a[ ]={1,2,3,4,5},i,j,s=0;

for(i=0;i<5;i++)

s=s*10+a[i];

printf(“s=%dn”,s);} A)s=12345

B)s=1 2 3 4 5 C)s=54321

D)s=5 4 3 2 1 A

47、以下程序运行,如果从键盘上输入 4<回车>,则输出结果是________。

#include main(){int a[20]={1,2,3,4,5,-1,-2,-3,-4,-5,1,2,3,4,5,-1,-2,-3,-4,-5};int i,m,n,f=0;scanf(“%d”,&n);for(i=0;i<20;i++)

if(a[i]==n)

{ f=1;m=i;} if(f!=0)printf(“%d,%dn”, n,m+1);else printf(“ %d not found!n”,n);} A)4,4

B)4,14 C)4,5

D)4,15 B

48、下面的程序运行后,输出结果是________。main(){ int i,j,a[7][7],x=0;

for(i=0;i<3;i++)

for(j=0;j<3;j++)a[i][j]=3*j+i;

for(i=2;i<7;i++)x+=a[i][i];

printf(“%dn”,x);

} A)8

B)不确定值 C)20

D)0 B

49、下面程序运行后,输出结果是________。#include main(){ int a[10]={1,2,3,4,5,6},i,j;

for(i=0;i++<3;)

{ j=a[i];a[i]=a[5-i];a[5-i]=j;}

for(i=0;i<6;i++)printf(“%d ”,a[i]);

} A)6 5 4 3 2 1

B)1 2 3 4 5 6 C)1 5 4 3 2 6

D)1 5 3 4 2 6 D 50、下面程序的功能是________。#include main(){ int a[5][4],i,j,max,row,col;

for(i=0;i<5;i++)for(j=0;j<4;j++)scanf(“%d”,&a[i][j]);

max=a[4][0];row=4;col=0;

for(i=4;i>=0;i--)

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

if(max

printf(“max=%d,row=%d,col=%dn”,max,row,col);} A)求二维数组中第4行中的最大元素及位置 B)求二维数组中的最大元素及位置 C)求二维数组中最小元素及位置

D)求二维数组中每一行的最大元素及位置 B

51、以下程序的输出结果是________。main(){ char p1[]=“abcd”,p2[]=“efgh”,str[50]=“ABCDEFG”;

strcat(str,p1);strcat(str,p2);

printf(“%s”,str);

} A)ABCDEFGefghabcd

B)ABCDEFGefgh C)abcdefgh

D)ABCDEFGabcdefgh D

52、以下程序的输出结果是________。

#include

#include

main()

{ char str[12]={'s','t','r','i','n','g'};

printf(“%dn”,strlen(str));

} A)6

B)7 C)11

D)12 A

53、设有如下定义语句:

static char str[]=“Beijing”;则执行:

printf(“%dn”,strlen(strcpy(str,“China”)));后的输出结果为________。A)5

B)7 C)12

D)14 A

54、以下程序输出的结果是_________。

#include

main()

{ char str[ ]=“1a2b3c”;int i;

for(i=0;str[i]!='';i++)

if(str[i]<'0' || str[i]>'9')printf(“%c”,str[i]);

printf(“n”);} A)123456789

B)1a2b3c C)abc

D)123 C

55、若有定义语句:char s[100],d[100];int j=0,i=0;,且s中已赋字 符串,请在划线处填______以实现将字符串s中的内容拷贝到字符串d 中。(注意:不得使用逗号表达式)

while(s[i]){ d[j]=__________;j++;}

d[j]=0;A)s[i]

B)s[++i] C)s[i++]

D)s[j] C

55、下面程序的功能是________。main(){ char s[ ]=“father”;

int i,j=0;

for(i=1;i<6;i++)

if(s[j]>s[i])j=i;

printf(“%c,%dn”,s[j],j+1);} A)输出字符数组s中ASCII码最大的字符及位置 B)输出字符数组s中ASCII码最小的字符及位置

C)输出字符数组s中ASCII码最大的字符及字符串的长度 D)输出字符数组s中ASCII码最小的字符及字符串的长度 B

第二篇:C语言数组

实验九 数组 一、一维数组

1、编写程序,测试下列数组的定义方式是否正确(1)main(){ int n;scanf(“%d”,&n);int a[n];//…….}(2)main(){ int n=10;int a[n];a[0] = 1;//......}(3)#include #define M 10 main(v){ int a[M];a[0] = 1;//......}(4)main(){ int a[2+2*4];a[0] = 1;//......}(5)#include #define M 2 #define N 8 main(){ int a[M+N];a[0] = 1;//......} 通过这一实验,可以说明什么问题?

2、运行下面的C程序,根据运行结果,可以说明什么? #include void main(void){ int num[5]={1,2,3,4,5};int i;for(i=0;i<=5;i++)printf(“%d,”,num[i]);}

3、调试下列程序,使之具有如下功能:输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。写出调试过程。main(){ int i,n,a[10],av;

for(i=0;i

for(i=0;i

if(i%3= =0)printf(“n”);

} for(i=0;i!=n;i++)av+=a[i];

printf(“av=%fn”,av); }

//尤其注意最后一次循环 上面给出的程序是完全可以运行的,但是运行结果是完全错误的。调试时请注意变量的初值问题、输出格式问题等。请使用前面实验所掌握的调试工具,判断程序中的错误并改正。在程序运行过程中,可以使用+键终止程序的运行,返回到TC环境。

5、编写程序,任意输入10个整数的数列,先将整数按照从大到小的顺序进行排序,然后输入一个整数插入到数列中,使数列保持从大到小的顺序。分析讨论

通过实验,分析定义与引用数组的区别。二、二维数组

1.写出程序输出结果(1)#include”stdio.h” main(){ int i, j, t, a[4][4]={11,22,33,44,1,2,3,4,10,20,30,40,12,22,32,42};for(i=0;i<4;i++)for(j=0;j

for(j=0;j<4;j++)printf(“%d”,a[i][j]);

} }(2)#include”stdio.h” main(){int i,j,m,n,a[3][4]={43,32,22,13,11,22,33,44,44,11,32,31};m=n=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[m][n]>a[i][j]){m=i;n=j;} printf(“a[m][n]=%d,m=%d,n=%d”,a[m][n],m,n);}

3、操作符&用以求一个变量的地址,这在函数scanf 中已经使用过了。现在要你设计一个程序,返回一个3 * 5 的二维数组各元素的地址,并由此说明二维数组中各元素是按什么顺序存储的。

4、输入4×4的数组,编写程序实现: ⑴ 求出对角线上各元素的和;

⑵ 求出对角线上行、列下标均为偶数的各元素的积; ⑶ 找出对角线上其值最大的元素和它在数组中的位置。

三、字符数组

1.验证程序输出结果 #include”stdio.h” main(){char a[ ]=“ab12cd34ef”;int i, j;for(i=j=0;a[i ];i++)if(a[ i]>=’a’&&a[ i]<=’z’)a[ j++ ]=a[ i ];a[ j ]=’’;

printf(“%sn”,a);}

2、编写程序,输入若干个字符串,求出每个字符串的长度,并打印最长一个字符串的内容。以“stop”作为输入的最后一个字符串。3、1983 年,在ACM图林奖颁奖大会上,杰出的计算机科学家,UNIX 的鼻祖,C语言的创始人之一,图林大奖得主,Ken Thompson 上台的第一句话是:“我是一个程序员,在我的1040表上我自豪地写上了我的职业。作为一个程序员,我的工作就是写程序,今天我将向大家提供一个我曾经写过的最精练的程序。”这个程序如下: #include char s[]={'t', '0', 'n', '}', ';', 'n', 'n', '/', '*', 'n', 0 };/*(213 lines deleted)*/ /* * The string is a * representation of the body * of this program from '0' * to the end */ void main(void){ int i;printf(“char ts[]= {” “);for(i=0;s[i];i++){ printf(”t%d,n“, s[i]);} printf(”%s“, s);} 请上机运行这个程序,指出它的功能和运行结果。

1.以下为一维整型数组a的正确说明是_________.a)int a(10);b)int n=10,a[n];c)int n;d)#define SIZE 10;scanf(”%d“,&n);int a[SIZE];int a[n];2.以下对二维数组a的正确说明是________.a)int a[3][];b)float a(3,4);

c)double a[1][4] d)float a(3)(4);3.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为______.(假设a[0][0]位于数组的第一个位置上。)a)i*m+j b)j*m+i c)i*m+j-1 d)i*m+j+1 4.若二维数组a有m列,则在a[i][j]前的元素个数为________.a)j*m+i b)i*m+j c)i*m+j-1 d)i*m+j+1 5.若有以下程序段:

int a[]={4,0,2,3,1},i,j,t;for(i=1;i<5;i++){t=a[i];j=i-1;while(j>=0&&t>a[j]){a[j+1]=a[j];j--;} a[j+1]=t;}......则该程序段的功能是_________.a)对数组a进行插入排序(升序)b)对数组a进行插入排序(降序)c)对数组a进行选择排序(升序)d)对数组a进行选择排序(降序)6.有两个字符数组a、b,则以下正确的输入语句是_______.a)gets(a,b);b)scanf(”%s%s“,a,b);c)scanf(”%s%s“,&a,&b);d)gets(”a“),gets(”b“);7.下面程序段的运行结果是_________.char a[7]=”abcdef“; char b[4]=”ABC“;strcpy(a,b);printf(”%c“,a[5]);a)空格 b) c)e d)f 8.判断字符串s1是否大于字符串s2,应当使用_______.a)if(s1>s2)b)if(strcmp(s1,s2))c)if(strcmp(s2,s1)>0)d)if(strcmp(s1,s2)>0)9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用 空格分隔,请选择填空。

#include main(){ char s[80],c1,c2=' ';int i=0,num=0;gets(s);while(s[i]!=''){c1=s[i];if(i==0)c2=' ';else c2=s[i-1];if(___)num++ i++;} printf(”There are %d words.n“,num);} a)c1==' '&&c2==' ' b)c1!=' '&&c2==' ' c)c1==' '&&c2!=' ' d)c1!=' '&&c2!=' ' 10.下面程序的运行结果是________.#include main(){char str[]=”SSSWLIA“,c;int k;for(k=2;(c=str[k])!='';k++){switch(c){case 'I':++k;break;case 'L':continue;default:putchar(c);continue;} putchar('*');} }

a)SSW* b)SW* c)SW*A d)SW

二、填空题

1. 若有定义:double x[3][5];则x数组中行下标的下限为____0___,列下标的上限为___4____.2.下面程序以每行4个数据的形式输出a数组,请填空。

#define N 20 main(){int a[N],i;for(i=0;i

main(){ int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;for(i=0;i<3;i++)for(j=0;j<3;j++)if(i==j_____)sum=sum+_a[i][j]______;printf(”sum=%dn“,sum);} 4.当从键盘输入18并回车后,下面程序的运行结果是_____10010___.main(){int x,y,i,a[8],j,u,v;scanf(”%d“,&x);y=x;i=0;do {u=y/2;

a[i]=y%2;i++;y=u;}while(y>=1)for(j=i-1;j>=0;j--)printf(”%d“,a[j]); } 5.下面程序用插入法对数组a进行降序排序。请填空。

main(){int a[5]={4,7,2,5,1};int i,j,m;for(i=1;i<5;i++){m=a[i];j=i-1_;

while(j>=0&&m>a[j]){a[j+1]=a[j]_______;j--;} a[j+1]_______=m;} for(i=0;i<5;i++)printf(”%d“,a[i]);printf(”n“);} 6.下面程序的功能是在三个字符串中找出最小的,请填空。#include #include main(){ char s[20],str[3][20];int i;for(i=0;i<3;i++)gets(str[i]);strcpy(s,_(strcmp(str[0],str[1])<0?str[0]:str[1]__)____);if(strcmp(str[2],s)<0)strcpy(s,str[2]);printf(”%sn“,__s_____);} 7.下面程序的运行结果是_#&*#%_______.#include main(){char s[]=”ABCCDA";int k;char c;for(k=1;(c=s[k])!='';k++){switch(c){case 'A':putchar('%');continue;case 'B':++k;break;default:putchar('*'); case 'C':putchar('&');continue;} putchar('#');} }

第三篇:C语言数组实验报告

C语言实验书P37

(2)#include

int main(void)

{

int i;

char ch;

char str[100];

printf(“请输入字符串:n”);

scanf(“%s”, str);

printf(“请输入查找字符:n”);

scanf(“ %c”, &ch);

for(i=0;str[i]!='';i++)

{

if(str[i] == ch)

{

printf(“位置为:%dn”, i+1);

return 0;

}

}

printf(“该字符不存在n”);

return 0;

}

(3)

(1)

#include

main()

{

long matrix[8][8],min,max,temp;

int i,j,m,n;

printf(“nPlease input n of Matrix:n”);

scanf(“%d”,&n);

m=n;

printf(“nPlease input elements of Matrix(%d*%d):n”,m,n);for(i=0;i

for(j=0;j

scanf(“%ld”,&matrix[i][j]);

for(i=0;i

{

for(j=0;j

printf(“%5ld”,matrix[i][j]);

printf(“n”);

}

}

(2)

#include

main()

{

long matrix[8][8],min,max,temp;

int i,j,m,n,nMax=0,nMin=0;

printf(“nPlease input n of Matrix:n”);

scanf(“%d”,&n);

m=n;

printf(“nPlease input elements of Matrix(%d*%d):n”,m,n);for(i=0;i

for(j=0;j

scanf(“%ld”,&matrix[i][j]);

min=max=matrix[0][0];

for(i=0;i

for(j=0;j

{

if(matrix[i][j]>max)

{

max=matrix[i][j];

nMax=i;

}

else if(matrix[i][j]

{

min=matrix[i][j];

nMin=i;

}

}

for(j=0;j

{

temp=matrix[nMax][j];

matrix[nMax][j]=matrix[nMin][j];

matrix[nMin][j]=temp;

}

printf(“nResult matrix:n”);

for(i=0;i

{

for(j=0;j

printf(“%5ld”,matrix[i][j]);

printf(“n”);

}

}

(3)

#include

main()

{

long matrix[8][8],min,max,temp;

int i,j,m,n,nMax=0,nMin=0;

printf(“nPlease input n of Matrix:n”);

scanf(“%d”,&n);

m=n;

printf(“nPlease input elements of Matrix(%d*%d):n”,m,n);for(i=0;i

for(j=0;j

scanf(“%ld”,&matrix[i][j]);

min=max=matrix[0][0];

for(i=0;i

for(j=0;j

{

if(matrix[i][j]>max)

{

max=matrix[i][j];

nMax=i;

}

else if(matrix[i][j]

{

min=matrix[i][j];

nMin=i;

}

}

for(j=0;j

{

temp=matrix[nMax][j];

matrix[nMax][j]=matrix[nMin][j];

matrix[nMin][j]=temp;

}

printf(“nResult matrix:n”);

if(nMax!=nMin)

for(i=0;i

{

for(j=0;j

printf(“%5ld”,matrix[i][j]);

printf(“n”);

}

Printf(“same line!n”)

(4)#include

void main()

{

int a[20];

int n,j,i,k,m=20;

printf(“给定的数组为:n”);

for(n=0;n<20;++n)

{

a[n]=2*n+3;

printf(“%d ”,a[n]);

}

printf(“n”);

printf(“输入要查找的数:”);

scanf(“%d”,&j);

for(n=0;n<=m;)

{

i=(m+n)/2;

if(a[i]

n=i+1;

else if(a[i]>j)

m=i-1;

else if(a[i]=j)

{

printf(“该数在数组的第%d位上n”,i+1);break;

}

if(n>m)

{

printf(“No Foundn”);

}

}

}

二、#include

void arr();

int sea(int j);

int a[20];

void main()

{

int n,j,i,h;

printf(“请输入20个数据:n”);

for(n=0;n<20;++n)

scanf(“%d”,&a[n]);

}

arr();

printf(“n请输入要查找的数:”);

scanf(“%d”,&j);

h=sea(j);

if(h==0)

{

printf(“No foundn”);

}

else

{

printf(“该数在已排序数组的第%d位n”,h)}

}

void arr()

{

int z,n,k;

for(n=0;n<20;++n)

{

for(k=0;k<19-n;k++)

if(a[k]>a[k+1])

{

z=a[k];

a[k]=a[k+1];

a[k+1]=z;

}

printf(”将数组排序,得:n“);

for(n=0;n<20;++n)

printf(”%d ",a[n]);

}

}

int sea(int j)

{

int n,i,h,m=20;

for(n=0;n<=m;)

{

i=(n+m)/2;

if(a[i]

n=i+1;

else if(a[i]>j)

m=i-1;

else if(a[i]=j)

{

h=i+1;break;}}if(n>m)h=0;return h;}

第四篇:C语言数组实习

实习六:数组实习

姓名:尹思智

学号:2012014413 完成日期2013年4月

一、实习目的

1.从键盘输入10个整数,将最大数调到最前面,最小数调到最后面。2.已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中

3.从键盘任意输入两个字符串,不用库函数strcat,将两串字符连接起来。4 输入一个5×5的数组,分别求其主对角线和次对角线上元素之和 5.由键盘任意输入10个学生的姓名(以拼音形式),将它们以字典顺序从小到大排序。

6打印如下形式的杨辉三角 1 1 1 1 1 10 5 7.定义一数组(长度大于10),从键盘输入数组元素的值,完成下面操作:

(1)从键盘输入一个数,用顺序查找法找出该数在数组中的位置;或者给出没有找到的信息;

(2)对数组的元素从小到大排序;

(3)从键盘输入一个数,用折半查找法找出该数在数组中的位置;或者给出没有找的信息。

8.直接选择排序法。算法描述如下:

(1)从n个数中找到最小的数,若此数不是数组的第一个元素,则与第一个元素交换位置;

(2)从剩下的n-1个数中找到最小的数,若此数不是数组第二个元素,则与第二个元素交换位置;

(3)以此类推,直到完成排序

9.编写程序将两个有序数组归并。例如数组{1,3,5}和数组{2,4,6,8,10},归并的结果是{1,2,3,4,5,6,8,10 }

二、实习步骤

1.从键盘输入10个整数,将最大数调到最前面,最小数调到最后面。

流程图; 运行图;

2.已有一个已排好序的数组,今输入一个数,要求按原来排序的规律将它插入数组中

流程图

运行图

3.从键盘任意输入两个字符串,不用库函数strcat,将两串字符连接起来。

流程图 运行图 输入一个5×5的数组,分别求其主对角线和次对角线上元素之和

流程图 运行图

5、由键盘任意输入10个学生的姓名(以拼音形式),将它们以字典顺序从小到大排序。

流程图 运行图

6打印如下形式的杨辉三角 1 1 1 1 1 10 5

流程图 运行图

7.定义一数组(长度大于10),从键盘输入数组元素的值,完成下面操作:

(1)从键盘输入一个数,用顺序查找法找出该数在数组中的位置;或者给出没有找到的信息;

(2)对数组的元素从小到大排序;

(3)从键盘输入一个数,用折半查找法找出该数在数组中的位置;或者给出没有找的信息。

流程图 运行图

8.直接选择排序法。算法描述如下:(1)从n个数中找到最小的数,若此数不是数组的第一个元素,则与第一个元素交换位置;

(2)从剩下的n-1个数中找到最小的数,若此数不是数组第二个元素,则与第二个元素交换位置;

(3)以此类推,直到完成排序

流程图 运行图

9.编写程序将两个有序数组归并。例如数组{1,3,5}和数组{2,4,6,8,10},归并的结果是{1,2,3,4,5,6,8,10 }

流程图 运行图

三、实习总结

第五篇:C语言实验六 数组

实验六 数组

实验目的:

1、通过实验掌握数组在内存中的存放形式;

2、掌握一维数组和二维数组的定义和数组元素的引用;

3、掌握各种字符串库函数的用法。

实验内容:

1、教材P138页第4题。

2、教材P138页第10题。

3、输入10个整数,将这10个整数按升序排列输出,并且奇数在前,偶数在后。

实验原理、步骤与分析:

【要求】每个实验内容都要先写出其实现的基本原理,再写出实验步骤,最后根据每个实验内容的实验结果进行分析说明。

下载C语言数组选择题(新)五篇word格式文档
下载C语言数组选择题(新)五篇.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    c语言数组方法总结

    数组方法总结 1. 输入元素的值: inti,a [10]; for ( i = 0; i < 9; i ++ ); a[i] = i; (1) 正序排列:(2)倒序排列: for( i =0; i < 10; i ++)for( i = 9; i >= 0; i -- ) print......

    C语言数组补充实验

    C语言程序设计 数组补充实验 一、实验目的 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法。 2、掌握字符数组和字符串函数的使用。 3、掌握与数组有关的算法(排序......

    c语言选择题

    2. C语言的基本单位是A A 函数 B 源程序C 语句D 程序行3. .以下说法中正确的是C A C语言程序总是从第一个定义的函数开始执行C;B C语言程序中至少有一个main函数;C C语言程......

    C语言选择题大全

    C语言选择题精选 *1、A 一个C程序的执行是从_____。 A)本程序的main函数开始,到main函数结束√ B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序......

    C语言选择题

    ### ~~~1 下列叙述中正确的是( )。 程序设计就是编制程序 程序的测试必须由程序员自己去完成程序经调试改错后还应进行再测试程序经调试改错后不必进行再测试~C ~~~1 以下......

    C语言选择题

    ## ~~~1 下列叙述中正确的是( )。 程序设计就是编制程序 程序的测试必须由程序员自己去完成 程序经调试改错后还应进行再测试 程序经调试改错后不必进行再测试 ~C ~~~1 以下......

    C语言选择题[精选合集]

    1.结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句. 2.对象有如下一些基本特点:标识唯一性、分类性、多态性、封装性、模块独立性好. ⒊数据库管理系......

    C语言实验报告《数组》(共5则)

    学号:__________ 姓名:__________ 班级:__________ 日期:__________指导教师:__________ 成绩:__________实验三 数组一、 实验目的1、掌握一维和二维数组的定义、赋值和输入输出2......