NOIP 数组作业四

发布 2022-09-05 02:56:28 阅读 8550

写出程序结果:

var n,m:integer;

w:array [1..10] of integer;

beginw[1]:=0; w[1]:=1;

for n:=3 to 10 do w[n]:=w[n-2]+w[n-1];

for n:=1 to 10 do write(w[n]:4)

end.编写下列程序:

1.小冬冬家里有7口人,每个人的身高都量出来了,你能帮他们找出身高超出全家平均值的那些身高的值吗?

2.有一个有n个不同整数的数列:例如n=4时,有4个不同整数的数列为17,4,16,5。

数列中的第1个数17,比它后面的三个数都大,则称数17的逆数为3;数列中的第2个数4,比它后面的数都小,则称数4的逆数为0;同时记数列中全部逆数的和称为数列的逆数。如数列17,4,16,5的逆数为:3+0+1+0=4

程序要求:当给出n个不同整数的数列后,求出此数列的逆数。

分析: 为求得上面问题的解,设置数组a:array[1..n] of integer和逆数计数器s,然后用一个二重循环求出数列的逆数。

3.输入n个整数a1、a2、…、ak、ak+1、…、an,对其进行平移处理后,按ak+1、ak+2、…、an、a1、a2、…、ak的顺序输出,其中k是小于n的常数。

解题思路:将n个整数输入到整型数组a中,重复k次下列步骤,完成平移操作;

①将a[1]中的值保存到临时单元t中;

②将a[2]-a[n]中的值顺序左移一个位置;

③将临时单元t中的值存到a[n]中。

步骤②是个循环过程,操作时要先把a[2]中的值移到a[1]中,然后把a[3]中的值移到a[2]中,……最后把a[n]中的值移到a[n-1]中,不可倒过来,否则会把a[1]- a[n]中的内容都变成a[n]中的值。

const

n=10;var

i,j,s:integer;

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

begins:=0;

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

for i:=1 to( )do

for jdo

if a[i]>a[j] then

writeln('s=',s)

end.

NOIP 数组作业三

某宾馆有一百个房间,从 1 100编了号。第一个服务员把所有的房间门都打开了,第二个服务员把所有编号是2的倍数的房间作 相反处理 第三个服务员把所有编号是3的倍数的房间再作 相反处理 以后每个服务员都是如此。当第100个服务员来过后,问有哪几扇门是打开的。所谓的 相反处理 指 原来开着的门关上,原来...

NOIP 数组作业二

1.读入一个十进制自然数,要求将其转换成二进制数后输出。分析 将十进数转换成二进制数,一般采用除二取余法。如果用一个数组b来存放二进制数,可以依次把所得的余数存入b 0 b 1 b n 最后按b n b n 1 b 1 b 0 的顺序输出这些余数,就得到了所求的二进制数。2.输入一串字符,字符个数不...

数组作业一

1 一个特别不爱学习的孩子,他想去学习但是又想去玩,于是他就决定通过丢硬币来抉择,他说 如是是正面就去踢足球,如果不是正面但是反面我就去打篮球,如果二者都不是,那我就去学习。自定义todotoday 方法实现这孩子的判断过程,在main 方法台输出丢硬币的结果,输出这个孩子今天将做什么事。2 重新实...