信息学奥林匹克普及组-读程序结果

合集下载

2019-2020年初中信息学奥林匹克竞赛初赛(普及组PASCAL语言)模拟试题附参考答案

2019-2020年初中信息学奥林匹克竞赛初赛(普及组PASCAL语言)模拟试题附参考答案

end.
信息学竞赛初赛模拟试题(三)参考答案
一、 单项选择题(每题 1 分,共 30 分)
1
2
3
4
5
6
7
8
9
10
D
C
B
B
D
D
C
C
C
C
11
12
13
14
15
16
17
18
19
20
D
B
C
B
B
B
C
D
D
B
二、阅读下列程序,写出程序运行结果(第 1 题 5 分,第 2,3,4 题各 6 分,共
23 分)
1、 98543
1、数据结构中,下面是一个树结构图,这个树的
" 先序遍历 " 结果是 ________,中序遍历结
果是: ________________。
2、给出一个后缀算术表达式为
24 8 +3 *4 10 7 - */@
写出对应的中缀算术表达式: ___________________________________________
A.- 1,- 1 4、试指出:下列 begin
B.1,- 1
C.- 1, 1
D. 1, 1
if 语句中,当 x=80 时 , 运行的结果为 ______。
y:=0;
readln(x); if x<0 then y:=5
else
if x<10 then begin y:=10;
if x<100 then y:=100;
begin
j:=i*5;
while [5] =0 do

NOIP2023普及组解题报告

NOIP2023普及组解题报告

NOIP2023普及组解题报告1. 题目背景NOIP(全国青少年信息学奥林匹克竞赛)是中国最重要的信息学竞赛之一,旨在选拔出优秀的信息学人才。

本文将解析NOIP2023普及组的题目并给出详细的解题思路。

2. 题目描述题目一:数找数给定一组数字,从中选择出两个数字,它们的和正好等于给定的目标数。

假设给定的数字集合中只有一组解。

请编写程序找出这两个数字并输出其下标。

输入: - 第一行为一个整数n,表示数字的个数。

- 第二行为n个以空格分隔的整数,表示一组数字。

- 第三行为一个整数target,表示目标数。

输出: - 输出两个整数i和j,表示所选数字的下标(从1开始计数,索引间以空格分隔)。

题目二:矩阵变换给定一个大小为n x m的矩阵,请编写程序将其顺时针旋转90度。

输入: - 第一行为两个正整数n和m,表示矩阵的行数和列数。

- 接下来的n行为矩阵的元素,每行包含m个以空格分隔的数字。

输出: - 输出顺时针旋转后的矩阵,每行包含n个以空格分隔的数字。

题目三:字符串缩写给定一个字符串,请编写程序将其缩写。

输入: - 输入为一行字符串,长度不超过100个字符。

- 字符串中只包含英文小写字母。

输出: - 输出为缩写后的字符串。

3. 解题思路题目一:数找数本题通过使用两个指针,一个指向数组开始,一个指向数组末尾,不断向内扩展判断两个指针对应的数字之和与目标数的大小关系,直到找到解为止。

具体步骤如下:1.定义两个指针left和right,初始时分别指向数组的第一个和最后一个元素。

2.循环执行以下步骤:–如果left和right对应的数字之和等于目标数,则输出left+1和right+1,结束循环。

–如果left和right对应的数字之和大于目标数,则将right 向左移动一位。

–如果left和right对应的数字之和小于目标数,则将left 向右移动一位。

题目二:矩阵变换本题的思路是将原矩阵逐个读入,并按照顺时针旋转的规律重新输出。

NOIP初赛普及组C++题目及答案

NOIP初赛普及组C++题目及答案

第二十二届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2016年10月22日14:30~16:30选手注意:●试题纸共有9页,答题纸共有2页,满分100分。

请在答题纸上作答,写在试题纸上的一律无效。

●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共20题,每题分,共计30分;每题有且仅有一个正确选项)1.以下不是微软公司出品的软件是()。

A. PowerpointB. WordC. ExcelD. AcrobatReader2. 如果256种颜色用二进制编码来表示,至少需要()位。

A. 6 C. 83.以下不属于无线通信技术的是()。

A. 蓝牙B. WiFiC. GPRSD. 以太网4. 以下不是CPU生产厂商的是()。

D. IBMA. IntelB. AMDC. Microsoft5. 以下不是存储设备的是()。

D. 鼠标A. 光盘B. 磁盘C. 固态硬盘6.如果开始时计算机处于小写输入状态,现在有一只小老鼠反复按照CapsLock、字母键A、字母键S和字母键D的顺序循环按键,即CapsLock、A、S、D、CapsLock、A、S、D、……,屏幕上输出的第81个字符是字母()。

A. A C. D D. a7. 二进制数00101100和00010101的和是()。

A. 00101000 C. 01000100 D. 001110008. 与二进制小数相等的八进制数是()。

D.A.初赛普及组C++语言试题第1页,共9页9. 以下是32位机器和64位机器的区别的是()。

A. 显示器不同B. 硬盘大小不同C. 寻址空间不同D. 输入法不同10. 以下关于字符串的判定语句中正确的是()。

A. 字符串是一种特殊的线性表B. 串的长度必须大于零C. 字符串不可以用数组来表示D. 空格字符组成的串就是空串11.一棵二叉树如右图所示,若采用顺序存储结构,即用一维数组元素存储该二叉树中的结点(根结点的下标为1,若某结点的下标为i,则其左孩子位于下标2i处、右孩子位于下标(2i+1)处),则图中所有结点的最大下标为()。

第十五届全国青少年信息学奥林匹克联赛初赛试题及答案官方版

第十五届全国青少年信息学奥林匹克联赛初赛试题及答案官方版

第十五届全国青少年信息学奥林匹克联赛初赛试题(普及组 C语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.单项选择题(共20题,每题1.5分,共计30分。

每题有且仅有一个正确答案。

)1、关于图灵机下面的说法哪个是正确的:A)图灵机是世界上最早的电子计算机。

B)由于大量使用磁带操作,图灵机运行速度很慢。

C)图灵机是英国人图灵发明的,在二战中为破译德军的密码发挥了重要作用。

D)图灵机只是一个理论上的计算模型。

2、关于计算机内存下面的说法哪个是正确的:A)随机存储器(RAM)的意思是当程序运行时,每次具体分配给程序的内存位置是随机而不确定的。

B)1MB内存通常是指1024*1024字节大小的内存。

C)计算机内存严格说来包括主存(memory)、高速缓存(cache)和寄存器(register)三个部分。

D)一般内存中的数据即使在断电的情况下也能保留2个小时以上。

3、关于BIOS下面说法哪个是正确的:A)BIOS是计算机基本输入输出系统软件的简称。

B)BIOS里包含了键盘、鼠标、声卡、显卡、打印机等常用输入输出设备的驱动程序。

C)BIOS一般由操作系统厂商来开发完成。

D)BIOS能提供各种文件拷贝、复制、删除以及目录维护等文件管理功能。

4、关于CPU下面哪个说法是正确的:A)CPU全称为中央处理器(或中央处理单元)。

B)CPU可以直接运行汇编语言。

C)同样主频下,32位的CPU比16位的CPU运行速度快一倍。

D)CPU最早是由Intel公司发明的。

5、关于ASCII,下面哪个说法是正确的:A)ASCII码就是键盘上所有键的唯一编码。

B)一个ASCII码使用一个字节的内存空间就能够存放。

C)最新扩展的ASCII编码方案包含了汉字和其他欧洲语言的编码。

D)ASCII码是英国人主持制定并推广使用的。

6、下列软件中不是计算机操作系统的是:A) Windows B) Linux C) OS/2 D) WPS7、关于互联网,下面的说法哪一个是正确的:A)新一代互联网使用的IPv6标准是IPv5标准的升级与补充。

全国青少年信息学奥林匹克联赛组织指南

全国青少年信息学奥林匹克联赛组织指南
例如:题目有cashier、dune、manhattan三题,选手的ID是HL-55,该选手的选手目录结构及其中的文件如 下所示:
answers | |---…… | |---HL-55 | |---cashier | | |---cashier.c | |--- dune
谢谢观看
ห้องสมุดไป่ตู้
全国青少年信息学奥林匹克联赛组 织指南
法律法规
01 赛事简介
03 答卷目录
目录
02 提交要求
全国青少年信息学奥林匹克联赛(简称NOIP)是由中国科协主管、中国计算机学会(CCF)主办、以省为赛 区单位组织实施的全国性竞赛,是NOI系列活动的重要组成部分。
赛事简介
竞赛组别 竞赛分两个组别,普及组和提高组,分别进行两轮:初赛和复赛。 参赛对象 凡初、高中阶段的学生和同等年龄段中等专业学校非计算机专业的在校学生均可以报名参加。 大纲与命题 联赛大纲由CCF NOI科学委员会制订并颁布。命题采取开放形式,任何一个有兴趣者均可提供候选赛题。最 终竞赛题目由CCF NOI科学委员会确定。 组织形式 由CCF统一大纲、统一命题、统一制卷、统一评分标准、统一竞赛时间、统一评测。 竞赛形式和时间 1)初赛:笔试,主要测试选手有关计算机方面的基本知识,每年10月份的第三个周六下午2:30-4:30在各赛 区进行。
答卷目录
答卷目录格 式
选手目录格 式
答卷目录下包含一系列选手目录,选手目录以选手ID命名,用于存放选手的答卷文件。
例如:某位选手的ID是HL-55,则答卷目录下应该包含一个子目录HL-55,HL-55目录下存放该选手的答卷文 件。选手目录名称必须与选手ID完全一致,英文大小写也必须相同。
选手目录下,对应每道题目有一个与该题同名的目录。该选手提交的源程序文件、答案文件存放在对应的题 目目录下。

NOIP初赛普及组C及答案

NOIP初赛普及组C及答案

N O I P初赛普及组C及答案第二十三届全国青少年信息学奥林匹克联赛初赛普及组C++语言试题竞赛时间:2017年10月14日14:30~16:30选手注意:●试题纸共有7页,答题纸共有2页,满分100分。

请在答题纸上作答,写在试题纸上的一律无效。

●不得使用任何电子设备(如计算器、手机、电子词典等)或查阅任何书籍资料。

一、单项选择题(共20题,每题1.5分,共计30分;每题有且仅有一个正确选项)1.在8位二进制补码中,表示的数是十进制下的()。

A.43B.-85C.-43D.-842.计算机存储数据的基本单位是()。

A.bitB.ByteC.GBD.KB3.下列协议中与电子邮件无关的是()。

A.POP3B.SMTPC.WTOD.IMAP5.计算机应用的最早领域是()。

A.数值计算B.人工智能C.机器人D.过程控制6.下列不属于面向对象程序设计语言的是()。

A.CB.C++C.JavaD.C#7.NOI的中文意思是()。

A.中国信息学联赛B.全国青少年信息学奥林匹克竞赛C.中国青少年信息学奥林匹克竞赛D.中国计算机协会8.2017年10月1日是星期日,1999年10月1日是()。

A.星期三B.星期日C.星期五D.星期二9.甲、乙、丙三位同学选修课程,从4门课程中,甲选修2门,乙、丙各选修3门,则不同的选修方案共有()种。

A.36B.48C.96D.19210.设G是有n个结点、m条边(n≤m)的连通图,必须删去G的()条边,才能使得G变成一棵树。

A.m–n+1B.m-nC.m+n+1D.n–m+111.对于给定的序列{ak},我们把(i,j)称为逆序对当且仅当i<j且ai>aj。

那么序列1,7,2,3,5,4的逆序对数为()个。

A.4B.5C.6D.712.表达式a*(b+c)*d的后缀形式是()。

A.abcd*+*B.abc+*d*C.a*bc+*dD.b+c*a*d13.向一个栈顶指针为hs的链式栈中插入一个指针s指向的结点时,应执行()。

第11届全国青少年信息学奥林匹克联赛初赛试题(普P)附答案

第11届全国青少年信息学奥林匹克联赛初赛试题(普P)附答案

第11届全国青少年信息学奥林匹克联赛初赛试题(普P)附答案第十一届全国青少年信息学奥林匹克联赛初赛试题(普及组 pascal 语言二小时完成)●●全部试题答案均要求写在答卷纸上,写在试卷纸上一律无效●●一.选择一个正确答案代码(A/B/C/D/E),填入每题的括号内(每题1.5分, 共30分)1. 在字符串“ababacbabcbdecced”中出现次数最多的字母出现了()次。

A. 6B. 5C. 4D. 3E. 22. 设全集I = {a, b, c, d, e, f, g, h},集合A = {a, b, c, d, e, f},B = {c, d, e},C = {a, d},那么集合A? B? ~ C为()。

A. {c, e}B. {d, e}C. {e}D. {c, d, e}E. {d, f}3. 和十进制数23的值相等的二进制数是()。

A. 10110B. 11011C. 11011D. 10111E. 100114. 完全二叉树的结点个数为11,则它的叶结点个数为()。

A. 4B.3C.5D. 2E. 65. 平面上有五个点A(5, 3), B(3, 5), C(2, 1), D(3, 3), E(5, 1)。

以这五点作为完全图G 的顶点,每两点之间的直线距离是图G 中对应边的权值。

以下哪条边不是图G 的最小生成树中的边()。

A. ADB. BDC. CDD. DEE. EA6. Intel的首颗16 位处理器是()。

A. 8088B. 80386C. 80486D. 8086E. Pentium7. 处理器A 每秒处理的指令数是处理器B 的2 倍。

某一特定程序P 分别编译为处理器A和处理器B 的指令,编译结果处理器A 的指令数是处理器B 的4 倍。

已知程序P 在处理器A 上执行需要1 个小时,那么在输入相同的情况下,程序P 在处理器B 上执行需要()小时。

A. 4B. 2C. 1D. 1 / 2E. 1 / 48. 以下哪个不是计算机的输出设备()。

NOIP初赛复习普及组

NOIP初赛复习普及组

B. 8
C. 32
•十六进制数 9A 在()进制下是 232。 B
A.四
B.八
C.十
D. 128
D.十二
二、计算机网络
计算机网络拓扑结构
总 线 型 拓 扑 结 构
6/23/2021
前一页 后一页
计算机网络拓扑结构
环 型 拓 扑 结 构
6/23/2021
前一页 后一页
计算机网络拓扑结构
星 型 拓 扑 结 构
B.用点、直线或者多边形等基于数学方程的几何图元来表示图像
C.每个像素点的颜色信息均用矢量表示
D.把文件保存在互联网,采用在线浏览的方式查看图像
•地址总线的位数决定D 了 CPU 可直接寻址的内存空间大小,例如地址总线为 16 位,其最大的可寻址空间为 64KB。如果地址总线是 32 位,则理论上最大可寻
A.由研究蝙蝠,发明雷达 B.由研究蜘蛛网,发明因特网
C.由研究海豚,发明声纳 D.由研究电鱼,发明伏特电池
A
•在使用高级语言编写程序时,一般提到的“空间复杂度”中的“空间”是指 ( )。
A. 程序运行时理论上所占的内存空间
B. 程序运行时理论上所占的数组空间 x
C. 程序运行时理论上所占的硬盘空间
C. 32
D. 以上都有可能
•设X、Y、Z分别代表三进制下的一位数字,若等式XY + ZX = XYX在三进制下成
立,那么同样在三进制下,等式XY * ZX = ( )也成立。
B
A. YXZ
B. ZXY
C. XYZ
•一个字长为8位的整数的补码是,则它的原码是( )。
D. XZY D
A. 00000111 B. 01111001 C. 11111001 D. 10000111
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

95普及组1.请将以下程序段表示的计算公式写出来(假设x的值已给出)e:=1 ;a:=1 ;for n:=1 to 10 doa:=a*x/n ;e:=e+a ;endfor ;写出所表示的公式。

2.列举一个算法,使算法的解能对应相应的问题。

例如,设问题为:学生答题,答对一题可得10分,答错一题则要扣去5分,输入答对的题数(m)与答错的题数(n),求最后得分(s)是多少?列举出相应算法为:x:=10;y:=5;read(m,n);s:=x*m-y*n;现有以下问题:用五角钱换成5分、2分与1分的硬币,可有多少种换法?请列出该问题的算法。

3.已知如下n*(n+1)/2个数据,按行的顺序存入数组a[1],a[2],……中:a11a21a22a31a32a33……a n1a n2a n3……a nn其中:第一个下标表示行第二个下标表示列。

若:a ij(i≥j,j,i=1,2,……n)存贮在a[k]中,试问:(1)k和i,j之间的关系如何表示?(2)给定k值(k≤n*(n+1)/2)后,写出能决定相应的i,j值的算法。

4.有红、黄、黑、白四色球各一个,放置在一个内存编号为1、2、3、4四个格子的盒中,每个格子放置一只球,它们的顺序不知。

甲、乙、丙三人猜测放置顺序如下:甲:黑编号1,黄编号2;乙:黑编号2,白编号3;丙:红编号2,白编号4 。

结果证明甲乙丙三人各猜中了一半。

写出四色球在盒子中放置情况及推理过程。

96普及组1.阅读下列程序段,写出程序运行后数组元素a1,a2,…,a11中的值。

a[1]:=1;a[2]:=1 ;k:=1 ;repeata[k+2]:=1 ;for i:=k downto 2 doa[i]:=a[i] +a[i-1 ] ;k:=k+1 ;until k>=10 ;2.已知:ack(m,n)函数的计算公式如下:n+1 m=0ack(m,n)= ack(m-1,1)n=0ack(m-1,ack(m,n-1)m≠0 且n≠0请计算:ack(1,2)与ack(2,2)的值。

3.请写出对应计算如下算式的程序段:y=a n x n+a n-1x n-1+……a1x+a04.有n×n个数据组成如下方阵:a11 a12a13 (1)a21a22 a23 (2)a31 a32a33 (3)…………a n1a n2a n3……a nn并已知:a ij = a ji现将a11 ,a21,a22 ,a31,a32,a33 …存储在一维数组a[1],a[2],…a[(n*(n+1))/2] 中。

试问:任给i,j怎样求出k来,使得a[k]的值正好是a ij,请写出由i,j计算k值的表达式。

5.已知:a1,a2,……,a81共有81个数,其中只有一个数比其它数大,要用最少的比较运算次数,把这个值大的数找出来(假设两个数比较一次能决定出大于、小于或等于这三种情况)请将以下算法补充完整:(9%)第一步:s1 = a1 + a2 + ……+ a27s2 = a28 + a29 +……+ a54第一次比较(s1,s2):s1 > s2 取k=0s1 < s2 取k=27s1 = s2 取k=54第二步:s1 = a k+1 + a k+2 + ……+ a k+9s2 = a k+10 + a k+11 +……+ a k+18第二次比较(s1,s2):s1 > s2 取k=s1 < s2 取k=s1 = s2 取k=第三步:s1 = a k+1 + a k+2 + a k+3s2 = a k+4 + a k+5 + a k+6第三次比较(s1,s2):s1 > s2 取k=s1 < s2 取k=s1 = s2 取k=第四步:s1 = a k+1s2 = a k+2第四次比较(s1,s2):s1 > s2 为最大数s1 < s2 为最大数,s1 = s2 为最大数。

98普及组1.program exp1 (imput,output);var i, s, max: integer; a :array [1..10] of integer;beginfor i:=1 to 10 do read (a[i]);max:=a[1] ;s:=a[1];for i:=2 to 10 dobeginif s<0 then s:=0;s:= s+a[i];if s>max then max:=send;writeln(‘max=’, max)end.输入:-2 13 -1 4 7 8 -1 -18 24 6 输出:max= 2.program exp2 (input,output);const n=5;var i,j,k : integer; a : array[1..2*n, 1..2*n] of integer;begink:=1;for i:=1 to 2*n-1 doif i<=n thenif odd(i) thenfor j:= i downto 1 dobegin a [i-j+1,j]:=k; k:=k+1 endelse for j: =1 to i dobegin a[i-j+1,j]:=k; k:=k+1; endelse if odd(i) then for j:=n downto i-n+1 dobegin a[i-j+1,j]:=k; k:=k+1; endelse for j:=i-n+1 to n dobegin a[i-j+1,j]:=k; k:=k+1; end;for i:=1 to n dobeginfor j:=1 to n do write(a[i,j]:3);writelnend;end.3.program exp3 (input,output);const n=10;var s,i : integer;function co(i1:integer) : integer;var j1,s1 : integer;begins1:=n;for j1:= (n-1) downto (n-i1+1) dos1:= s1*j1 div (n-j1+1);co:=s1end;begins:=n+1;for i:= 2 to n do s:=s + co(i);writeln(‘s=’,s);end.4.program exp4(input,output); {12%} const n=3;var i,j,s,x :integer;p :array[0..n+1] of integer;g :array[0..100] of integer;beginfor i := 0 to 100 do g[i]:=0;p[0]:=0; p[n+1]:=100;for i:= 1 to n do read (p[i]); readln;for i:= 0 to n dofor j:= i+1 to n+1 dog[abs(p[j]-p[i])]:=g[abs(p[j]-p[i])]+1;s:=0;for i:=0 to 100 doif g[i]>0 then beginwrite(i,:4); s:=s+1;end;writeln;writeln(‘s=’,s);writeln(‘input data:’); readln(x);writeln(g[x])end.输入:10 20 65input data: 10输出:99普及组根据nocomachns定理,任何一个正整数n的立方一定可以表示成n个连续的奇数的和。

例如:13= 123=3+533=7+9 +1143= 13+15+17+19在这里,若将每一个式中的最小奇数称为x,那么当给出n之后,请写出x与n之间的关系表达式:1.program excpl;varx,y,y1,jk,j1,g,e:integcr;a:array[l..20]of 0..9;beginx:=3465;y:=264;jk:=20;for j1:= 1 to 20 do a[j1]:=0;while y<>0 dobeginy1:=y mod 10;y:= y div 10;while y1<>0 dobeging:=x;for e:=jk downto 1 dobeging:=g+a[e];a[e ]:= g mod 10;g:= g div 10end;y1:=y1-1end;jk:=jk-1end;j1=1;while a[j1]=0 do j1:=j1+1;for jk:=j1 to 20 do write(a[jk]:4)writelnend.程序输出结果为:_________________________________2.program excp2vari,j:integer;;a :array[1..14] of integer;procedure sw(i1,j1:integer);var k1:integer;beginfor k1:= 1 to(j1- i1+1)div 2 dobegina[i1+k1-1]:=a[i1+k1-1]+a[j1-k1+1];a[j1-k1+1]:=a[i1+k1-1]-a[j1-k1+1];a[i1+k1-1]:=a[i1-k1+1]-a[j1-k1+1];end;end;beginj:=211;for i:=1 to 14 dobegina[i]:=i; j:=j-iend;sw(1,4);sw(5,10);sw(11,14);sw(1,14);for i:=1 to 14 dobeginif j mod i=1 then write (a[i]:3);j:=j-a[i];end;writelnend.程序运行结果是:________________________________________ 00普及组1.program noi_002;var i, j, l, n, k, s, t : integer;b : array[1..10] of 0..9;beginreadln(l,n); s:=l; k:=1; t:=l;while s<n dobegin k:=k+1; t:=t*l; s:=s+t end;s:=s-t; n:=n-s-1;for i:=1 to 10 do b[i]:=0;j:=11;while n>0 dobegin j:=j-1; b[j]:=n mod l; n:=n div l end;for i:=10-k+1 to 10 do write(chr(ord('a')+b[i])); end.输入: 4 167输出:2.program noi_004;var i, j, j1, j2, p, q : integer;p1 : boolean;b,c : array[1..100] of integer;beginreadln(q,p); j:=1; p1:=true; b[j]:=q; j1:=0;while (q>0) and p1 dobeginj1:=j1+1; c[j1]:=q*10 div p; q:=q*10-c[j1]*p;if q>0 then beginj2:=1;while (b[j2]<>q) and (j2<=j) do j2:=j2+1; if b[j2]=q thenbeginp1:=false; write('0.');for i:=1 to j2-1 do write(c[i]:1); write('{');for i:=j2 to j1 do write(c[i]:1);writeln('}')endelse begin j:=j+1; b[j]:=q endendend;if q=0 then beginwrite('0.');for i:=1 to j1 do write(c[i]:1);writelnend; readlnend.输入① 1 8 输出输入② 2 7 输出02普及组program exp1;var i,j,k,n,,l0,l1,lk:integer;a :array [0..20] of integer;beginreadln(n,k);for i:=0 to n-1 do a[i]:=i+1;a[n]:=a[n-1];l0:=n-1; lk:=n-1;for i:=1 to n-1 dobeginl1:=l0-k; if (l1<0) then l1:=l1+n;if (l1=lk) then begina[l0]:=a[n]; lk:=lk-1; a[n]:=a[lk]; l0:=lkend;elsebegina[l0]:=a[l1];l0:=l1;end;end;a[l0]:=a[n];for i:=0 to n-1 do write(a[i]:4);writeln;end.输入:10 4 输出:2)program exp2;var n,jr,jw,jb:integer;ch1:char;ch:array[1..20]of char;beginreadln(n);for i:=1 to n do read(ch[i]);jr:=1;jw:=n;jb:=n;while (jr<=jw)dobeginif(ch[jw]='r')then beginch1:=ch[jr];ch[jr]:=ch[jw];ch[jw]:=ch1:jr:=jr+1;endelse if ch[jw]='w'then jw:=jw-1else beginch1:=ch[jw];ch[jw]:=ch[jb];ch[jb]:=ch1;jw:=jw-1;jb:=jb-1;endend;for i:=1 to n do write(ch[i]);writeln;end.输入:10rbrbwwrbbr输出:3)pmgram exp3;var i,j,p,n,q,s:integer; a :array[1..20]of integer;beginreadln(p,n,q);j :=21;while (n>0)dobeginj:=j-1;a[j]:=n mod 10;n:=n div 10;end;s:=0;for i:=j to 20 do s:=s*p+a[i];writeln(s);j :=21;while (s>o)dobegin j:=j-1;a[j]:=s mod q;s:=s div q;end;for i:=j to 20 do write(a[i]);readln;end. 输入:7 3051 8 输出:03普及组1.program programl;var a,x,y,okl,ok2:integer;begina :=100; x:=l0;y:=20;okl:=5; ok2:=0;if ((x>y) or ((y<>20) and (okl=0)) and (ok2<>0)) then a:=1else if ((okl<>0) and (ok2=0)) then a:=-1else a:=0;writeln(a);end.输出:2.program program2;var a,t:string;i,j:integer;begina:=`morning`;j:= l;for i:=2 to 7 do if (a[j]<a[i])then j:= i;j:= j-1;for i:=1 to j do write (a[i]);end.输出:3.program program3;var a,b,c,d,sum:longint;beginread (a,b,c,d);a:=a mod 23:b:=b mod 28;c:=c mod 33;sum:=a*5544+b* 14421+c*1288-d;sum:=sum+21252;sum:=sum mod 21252;if (sum=0)then sum:=21252;writeln(sum);end.输入:283 102 23 320 输出:4.program program4;vara: array[0..5] of integer; sum,n,max,i,j,k:integer;cover:array[0..22000]of boolean;beginread (a[5],a[4],a[3],a[2],a[1],a[0]);if ((a[5]=0) and (a[3]=0) and (a[1]=0)) thenbegina[5]:=a[4];a[4]:=a[2]; a[3]:=a[0]; a[2]:=0 a[0]:=0;end:for i:=0 to 5 doif (a[i]>10) then a[i]:=10+(a[i] mod 2);sum:=0:for i:=0 to 5 do sum:=sum+a[i]*(6-i);if ((sum mod 2) <>0) then beginwriteln(`can``t be divided.`);exit;end;sum:=sum div 2; max:=0; cover[0]:=true;for i:=1 to sum*2 do cover[i]:=false;for i:=0 to 5 dobeginj:=0;while (j<a[i])dobeginfor k:=max downto 0 dobegin if (cover[k]) then cover[k+6-i]:=true;end;max:=max+6-i: j:=j+1;end;end;if (cover[sum]) then writeln (`can be divided.`)else writeln(`can``t be divided.`);end.输入:4 7 9 20 56 48 输入:1000 7 101 20 55 1 输入:2000 5 l 1 0 0 输出:输出:输出:04普及组1、var a,b,c,d,e:integer;begina:=79 ; b:=34; c:=57;d:=0 ; e:=-1;if (a<c) or (b>c) then d:=d+eelse if (d+10<e) then d:=e+10else d:=e-a; writeln(d); end. 输出:_____________________。

相关文档
最新文档