300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > c语言数组作业题 数组练习题

c语言数组作业题 数组练习题

时间:2024-04-28 00:34:03

相关推荐

c语言数组作业题 数组练习题

已结贴√

问题点数:4回复次数:6

数组练习题

一、选择题

1.下面对数组类型定义描述正确的是()

A)数组的下标类型是有序类型

B)一个数组中的各元素类型可以不一样

C)数组的下标类型若为整型,则其上界一定要大于下界

D)PASCAL语言数组下标的下界要大于等于零

2.设有说明var a:array['a'..'z'] of real;

则a数组是()

A)一个存放字符数据的数组B)一个存放实型元素的数组

C)一个具有20个数据的数组D)能够存放26个元素的数组

3.设有如下说明:

const a=1;b=2;c=3;

var x:array[1..5] of integer;

且已知x[1]:=1;x[2]:=7;x[3]:=9;x[4]:=1;x[5]:=6;

则表达式:

(x[b]-1>x[5])and(x[c]>0)or not(x[a+b]>(a+b))的值是:

A)trueB)falseC)0D)1

4.已有数组说明:var a:array[1..10] of integer;

a[1] a[2] .................................a[10] 7 6 4 3 5 2 14 11 9 1

执行语句writlen(a[a[7] div a[3]])后的输出结果是:

A)4B)6C)3D)14

5.已知有说明:VAR a:array[1..10]of integer;

k,i:Integer;

下面程序段:

For i:=1 T0 10 DO

IF a[i]>a[k] then k:=i;

writeln(a[k]);

输出的是

A)数组中数的平均值C)数组中数的最小值

B)数组中数的总和D)数组中数的最大值

6.如果计算机中4个字节存放一个实型数,若有说明:

VARA:ARRAY[1..10]OFReal;

则数组A需占用的存储区域是

A)10字节 B)20字节 C)80字节 D)40字节

二、看程序写结果

1.

var a:array[-3..3] of integer;

i,k:integer;

begin

k:=0;

for i:=-3 to 3 do

if i<0 then a[i]:=k+1

else a[i]:=k+2;

writeln(a[3]-a[-3])

end.

output:

2.var a:array[1..30] of longint;

n,i:integer;

begin

readln(n);

a[1]:=0;a[2]:=1;

for i:=3 to ndo a[i]:=a[i-1]+a[i-2];

for i:=1 to ndo write(a[i]:8);

writeln

end.

输入:10

输出:

3.

var i,s,max:integer;a:array[1..10] of integer;

begin

for i:=1 to 10 do read(a[i]);

max:=a[1];s:=a[1];

for i:=2 to 10 do

begin

if s<0 then s:=0;

s:=s+a[i];

if s>max then max:=s

end;

writeln(‘max=’,max)

end.

输入:-2 13 –1 4 7 8 –1 –18 24 6

输出:max=

4.

var a:array['a'..'z'] of integer;

b:char;

begin

repeat

read(b);

if (b>='a')and(b<='z') then

a[b]:=a[b]+1;

until b='?';

for b:='a' to 'z' do

if a[b]<>0 then write(b,':',a[b],' ')

end.

输入:how many apples are there on the table?

输出:

5.

var a:array[1..10] of integer;

i,j,temp:integer;

begin

for i:=1 to 10 do read(a[i]);

for i:=1 to 9 do

for j:=i+1 to 10 do

if a[i]

begin

temp:=a[i];a[i]:=a[j];a[j]:=temp

end;

for i:=1 to 10 do write(a[i]:8);writeln

end.

输入:876535156554768981

输出:

6.

var a:array[0..1000] of integer;

k,i,n,j:integer;

begin

readln(n,k);j:=0;

while n>=k do

begin

a[j]:=n mod k;n:=n div k;j:=j+1

end;

a[j]:=n;

write(n,',',k,':');

for i:=j downto 0 do write(a[i]:2);writeln

end.

输入:12883输出:

三、填空题:请将每空的正确答案写在横线上

下面的程序从键盘接收任意6个数放入数组A中,假设这6个数为:8 1 4 2 5 6 ,则要输出一个具有如下内容的方阵。

8 1 4 2 5 6

6 8 1 4 2 5

5 6 8 1 4 2

2 5 6 8 1 4

4 2 5 6 8 1

1 4 2 5 6 8

var a:array[1..6] of integer;

i,j,k:integer;

begin

for i:=1 to 6 doread(__________);

for i:=1 to 6 do

begin

if i=1 then k:=1

else k:=____________;

for j:=1 to_________do

begin

write(a[k]:2);

if k=6 then k:=1

else k:=______________

end;

writeln

end

end.

下面的程序将n个学生的英文成绩从键盘输入,按0—59分、60—69分、70—79分、80—89分和90—100分分组统计人数。

const n=20;

var i,k:integer;

s:array[1..5]of integer;

a:array[l..n]of integer;

begin

for i:=1 to _____ do

s[i]:=0;

for i:=1 to _____ do

begin

_______________;

if a[i]>=90 then k:=1

else if a[i]>=80 then k:=2

else if a[i]>=70 then k:=3

else if a[i]>=60 then k:=4

else k:=5;

s[k]:=_______

end;

for i:=1 to 5 do

write(a[i]:4);

writeln

end.

四、编写程序

1.随机产生20个100以内的数,输出;按从小到大的顺序排序,输出。

2.判断一字符串是否是回文数,如121、12321、ABA等(字符串输入时以‘.’结束)。

如输入:12321.

输出:yes

3.围绕着山顶有10个洞,一只兔子和一只狐狸住在各自的洞里,狐狸总想吃掉兔子,一天兔子对狐狸说,你想吃我有一个条件,你先把洞编号1到10,你从第10洞出发,先到第1号洞找我,第二次隔一个洞找我,第三次隔两个洞找我,以后依次类推,次数不限,若能找到我你就可以饱餐一顿,在没找到我之前不能停止,狐狸一想只有10个洞,寻找的次数又不限,哪有找不到的道理,就答应了条件,结果狐狸跑得昏了过去也没找到兔子,请问兔子躲在哪个洞里。程序中可假定狐狸找了1000次。

4.求一个5 X 5数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。如下:

5 6 7 8 9

4 5 6 7 8

3 4 5 2 1

2 3 4 9 0

1 2 5 4 8

则1行1列上的数就是马鞍数。

有答案更好但不能不回帖不回帖者杀无赦

[本帖最后由 chao41091153 于 -6-2 17:03 编辑]

搜索更多相关主题的帖子:

练习题

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。