一维数组练习.doc
一维数组练习题
一维数组练习题
题目一:数组元素反转
描述:给定一个整数数组,将数组中的元素反转并输出。
要求:
1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);
2. 输入n个整数构成的数组;
3. 输出数组中的元素,按照逆序输出。
解答:
题目二:查找数组中的最大值和最小值
描述:给定一个整数数组,找出数组中的最大值和最小值,并输出。
要求:
1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);
2. 输入n个整数构成的数组;
3. 输出数组中的最大值和最小值。
解答:
题目三:计算数组的和与平均值
描述:给定一个整数数组,计算数组中所有元素的和及平均值,并
输出结果。
要求:
1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);
2. 输入n个整数构成的数组;
3. 输出数组中所有元素的和及平均值,结果保留两位小数。
解答:
题目四:数组去重
描述:给定一个整数数组,去除数组中的重复元素,并输出结果。
要求:
1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);
2. 输入n个整数构成的数组;
3. 输出去除重复元素后的数组。
解答:
题目五:数组元素排序
描述:给定一个整数数组,对数组中的元素进行排序,并输出结果。要求:
1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);
2. 输入n个整数构成的数组;
3. 输出排序后的数组。
解答:
题目六:数组元素查找
描述:给定一个整数数组和一个目标值,判断目标值是否存在于数组中,并输出结果。
要求:
1. 输入一个整数n,表示数组的长度(1 ≤ n ≤ 100);
一维数组练习题
一维数组练习题
一维数组练习题
一维数组是计算机编程中常用的数据结构之一,它可以存储一系列相同类型的数据。在实际的编程过程中,我们经常需要使用一维数组来解决各种问题。下面,我将给出一些一维数组的练习题,希望能帮助大家更好地理解和掌握一维数组的使用。
1. 求数组元素的和
给定一个整数数组,编写一个函数来计算数组中所有元素的和。这个问题可以通过遍历数组并累加每个元素来解决。首先,我们可以定义一个变量sum,初始值为0,然后使用for循环遍历数组,每次将当前元素加到sum中,最后返回sum即可。
2. 查找数组中的最大值和最小值
给定一个整数数组,编写一个函数来查找数组中的最大值和最小值。我们可以使用两个变量来保存当前的最大值和最小值,然后遍历数组,如果当前元素比最大值大,则更新最大值,如果当前元素比最小值小,则更新最小值。最后返回最大值和最小值即可。
3. 数组元素的反转
给定一个整数数组,编写一个函数来反转数组中的元素。我们可以使用两个指针,一个指向数组的第一个元素,一个指向数组的最后一个元素,然后交换这两个指针所指向的元素,并向中间移动指针,直到两个指针相遇。
4. 数组元素的去重
给定一个整数数组,编写一个函数来去除数组中的重复元素。我们可以使用一
个新的数组来存储不重复的元素,然后遍历原数组,如果当前元素不在新数组中,则将其添加到新数组中。最后返回新数组即可。
5. 数组元素的排序
给定一个整数数组,编写一个函数来对数组中的元素进行排序。我们可以使用冒泡排序、插入排序、选择排序等算法来对数组进行排序。这些排序算法的基本思想都是比较相邻的元素并交换位置,直到整个数组有序。
PHP数组练习及答案
1.一维数组是最简单的数组,其定义形式是?$arr = array()或者$arr = [];
2.怎么判断一个变量是否为空,怎么判断一个变量是否存在?empty($str); isset($str);
3.如何获取数组$arr = array(array(‘a’,’b’,’c’));中的
值’c’ ?
$arr[0][2];
4.如何定义一个三维数组?
$arr = array(array(array()));或者$arr = [[[]]];
5.怎么才能从数组$multi_array中找出值cat?
$multi_array = array(
"red","green",
42 => "blue",
"yellow" => array("apple",9 => "pear","banana", "orange" => array("dog","cat","iguana"))
);
$multi_array[‘yellow’][‘orange’][1];
6.下面数组$arr中,打印$arr[1][1]输出的值是什么?
$arr = array(
array('jack','boy',23,'18nan'=>array(18000,180,18)),
array('rose','girl',18)
);
答案:girl
7.遍历输出数组$arr =
array(1=>’ff’,‘aa,’dd,’cc’,’eee’);
foreach($arr as $value){
echo $value;
一维数组练习题
维数组练习题1 、以下对一维数组 a 进行正确初始化的是 ____________
A) int a[10]=(0,0,0,0,0);
C) int a[ ]={0}; B) int a[10]={ };
D) int
a[10]={ 10*2};
2 、以下一维数组 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];
3 、执行下面的程序段后 , 变量 k 中的值为 __________ 。
int k=3,s[2];
s[0]=k;
k=s[1]*10;
A) 不定值B) 33
C) 30 D) 10
4 、下列程序执行后的输出结果是
main()
{int a,b[5];
a=0; b[0]=3;
printf("%d,%d\n",b[0],b[1] );
A) 3,0
C) 0,3 }
B) 3 0
D) 3, 不定值
5、已知数组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 C) 21 和 30 B) 20 和 31 D) 21 和 31
6、以下程序输出 a 数组中的最小值及其下标,在划线处应填入的是 _____________ main( )
{ int i,p=0,a[10];
☆C语言实验五(第七章一维数组:排序综合题)
【2008春上机编程题_C07】
【解题思路】:在理解上述要求基础上,只用一个主函数完成:找出Fibonacci 数列的前40个数,存放在一维数组m[40](声明长整型变量long)中,然后找出其中所有素数,存放在一维数组n[40]中(提示:n数组要求对素数总数以k计数),再选用一种排序法对一维数b进行降序排列,最后按长整型量以“%9ld”
形式、一行五个数据将满足条件的数据输出到屏幕:
【提示】:排序方法有“简单起泡法”;“双向起泡法”;“选择法”;所以要求学生在调试上述程序基础上按班组选取排序方法,编写本次作业。(约定:起始Fibonacci数列存放在一维数组m[40]中,挑选出的素数存放在一维数组n[40]中,最后以升序排列的数组n输出,满足素数的个数设定为k)。
(参考教科书P134)
(参考上机指导书P54例7.5、2010春完善程序题第15题或软件第七章填空第15题)原理为“下列程序的功能是对n数组n[0]~a[k-1]中存储的k个整数从大到小排序。排序算法是:第一趟通过比较将k个整数中的最小值放在a[k-1]中,最大值放在a[0]中;第二趟通过比较将k个整数中的次小值放在a[k-2]中,次大值放在a[1]中,………,依次类推,直到待排序序列为递减序列。”
P50例7.2)
【软件第七章】
选择:
1,下列一维数组的声明中,正确的是____(22)_____。
A. int a[];
B. int n=10,a[n];
C. int a[10+1]={0};
D. int a[3]={1,2,3,4};
(完整版)数据结构练习题及参考答案
数据结构练习题
第一部分绪论
一、单选题
1. 一个数组元素a[i]与________的表示等价。
A、 *(a+i)
B、 a+i
C、 *a+i
D、 &a+i
2. 对于两个函数,若函数名相同,但只是____________不同则不是重载函数。
A、参数类型
B、参数个数
C、函数类型
3. 若需要利用形参直接访问实参,则应把形参变量说明为________参数
A、指针
B、引用
C、值
4. 下面程序段的时间复杂度为____________。
for(int i=0; i<m; i++)
for(int j=0; j<n; j++)
a[i][j]=i*j;
A、 O(m2)
B、 O(n2)
C、 O(m*n)
D、 O(m+n)
5. 执行下面程序段时,执行S语句的次数为____________。
for(int i=1; i<=n; i++)
for(int j=1; j<=i; j++)
S;
A、 n2
B、 n2/2
C、 n(n+1)
D、 n(n+1)/2
6. 下面算法的时间复杂度为____________。
int f( unsigned int n ) {
if ( n==0 || n==1 ) return 1; else return n*f(n-1);
}
A、 O(1)
B、 O(n)
C、 O(n2)
D、 O(n!)
二、填空题
1. 数据的逻辑结构被分为__________、_________、__________和__________四种。
2. 数据的存储结构被分为__________、_________、__________和__________四种。
C语言程序设计练习题参考答案第四章(1)一维数组
C语言程序设计练习题参考答案第四章(1)一维数组
C语言程序设计练习题参考答案第四章 (1) 一维数组
/* 4.11 fibonacci数列,前15项 1,1,2,3,5,。。。。。*/ #include "stdio.h"
void main()
{
int f[15]={1,1}, i;
for(i=2;i<=14;i++) /* 计算 */
f[i]=f[i-2]+f[i-1];
printf("fibonacci数列,前15项\n"); /* 输出 */
for(i=0;i<=14;i++)
{
printf("%5d",f[i]);
if((i+1)%5==0)
printf("\n");
}
}
/* 4.12 数组元素前移动一个位置 */
#include "stdio.h" void main()
{
int a[10]={0,1,2,3,4,5,6,7,8,9};
int i,t;
printf("\n移动之前:\n");
for(i=0;i<=9;i++)
printf("%3d",a[i]);
/* 移动 */
t=a[0];
for(i=0;i<=9;i++)
a[i]=a[i+1];
a[9]=t;
printf("\n移动之后:\n");
for(i=0;i<=9;i++)
printf("%3d",a[i]);
}
/* 4.13 有序数列中插入若干个数,仍然保持有序 */
#include "stdio.h" void main()
{
int a[100]={1,4,8,10};
int i,k,x,count=4;/* i,k 循环变量, x 输入整数,count 有多少整数*/
C二级操作题 5 一维字符数组删除及统计
第五课
教学内容:一维字符数组删除及统计类算法
教学目的:掌握一维字符数组删除及统计类算法的考题
教学内容:
一、一维字符数组删除及统计类算法的考题特点
此类算法多以填空题和程序设计题为考试形式。常见考点
1、在一维字符数组中删除指定的单个字符,删除符合某条件的多个字符。
2、统计一维字符数组中某个字符出现的次数,子串出现的次数。
二、课堂练习
第一套
1、程序填空题删除所有小写字母‟c‟
下列给定程序中,函数fun()的功能是:从字符串s 中,删除所有小写字母‟c‟。试题程序:__1__<stdio.h> //# include
void fun(char *s)
{ int i, j;
for(i=j=0;__2__;i++) //s[i]!= '\0'
if(s[i]!= 'c')
__3__; //s[j++]=s[i];
s[j]='\0';
}
main()
{ char s[80];
printf("\nEnter a string: "); gets(s);
printf("The original string: "); puts(s);
fun(s);
printf("The string after deleted: ");
puts(s);
printf("\n\n ");
}
2、程序改错题删除字符串s 中的所有空白字符
给定程序modi.c 中函数fun 的功能是:删除字符串s 中的所有空白字符(包括Tab 字符、回车符及换行符)。输入字符串时用'#'结束输入。请改正程序中的错误,使它能输出正确的结果。
一维数组练习
一维数组练习
一维数组练习
6.1 定义如下数组
1.表示20中商品的价格;
2.表示30件邮件的安全邮递情况;
3.统计50个学生在一次考试(满分100,最低分60)中各分数的分布情况;
4.统计一篇文章中各字母的出现频率(所有字母均小写)。
6.2 按照顺序读入十个数据,以逆序的范式输出。X
6.3 计算并输出s =∑=10
1i XiYi ,
其中,Xi 的值为1,3,5,7,……17,19,Yi 的值为21,22,23,……,29,30。
6.4 将a 数组中第一个元素移到最后数组末尾,其余数据依次往前平移一个位置。如:输入 1 2 3 4 5
输出 2 3 4 5 1
6.5 对数组a,输入一个测试数据x ,如果x 存在于数组a,则把x 元素删除;否则将x 插入相应的位置,要求数组仍然有序(假设数组递增)。
6.6编程输入十个正整数,然后自动按从大到小的顺序输出。
6.7 从键盘输入若干个数,将它们按照从小到大的顺序输出。
一维数组的应用
6.8 将一个十进制整数转化成二进制数
6.9总务室在商店购买了八种文具用品,其数量及单价如下表:
序号 1 2 3 4 5 6 7 8
品名圆珠笔铅笔笔记本订书机计算器三角板圆规文件夹
件数 24 110 60 16 26 32 32 42
单价 1.18 0.45 1.8 8.8 78.50 3.28 4.20 2.16
编程计算各物品计价及总计价。
6.10用筛法求出100以内的全部素数,并按每行五个数显示。(要得到不大于某个自然数N 的所有素数,只要在2---N 中将不大于N 的素数的倍数全部划去即可)
一维数组练习题
一维数组练习题
一维数组练习题
1、以下对一维数组a进行正确初始化的是__________。
A) int a[10]=(0,0,0,0,0); B) int a[10]={ };
C) int a[ ]={0}; D) int a[10]={ 10*2};
2、以下一维数组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];
3、执行下面的程序段后,变量k中的值为__________。
int k=3,s[2];
s[0]=k; k=s[1]*10;
A) 不定值B) 33
C) 30 D) 10
4、下列程序执行后的输出结果是__________。
main()
{int a,b[5];
a=0; b[0]=3;
printf("%d,%d\n",b[0],b[1]); }
A) 3,0 B) 3 0
C) 0,3 D) 3,不定值
5、已知数组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
6、以下程序输出a数组中的最小值及其下标,在划线处应填入的是________。main( )
数组编程练习(带答案)
数组编程练习
1、产生一个由10个元素组成的一维数组并输出,数组元素由随机数(0-99)构成。
解:
#include
#include
#define N 10
int main()
{
int a[N],i;
for(i=0;i
{
a[i]=rand()%100;
}
printf("array a:\n");
for(i=0;i
{
printf("%4d",a[i]);
}
printf("\n");
return 0;
}
2、产生一个由10个元素组成的一维数组并输出,数组元素由随机数(0-99)构成。求该数组的最大值、最小值、总和和平均值并输出。
解:
#include
#include
#define N 10
int main()
{
int a[N],i,max,min,sum;
float ave;
for(i=0;i
{
a[i]=rand()%100;
}
printf("array a:\n");
for(i=0;i
{
printf("%4d",a[i]);
}
printf("\n");
max=a[0];
min=a[0];
sum=0;
for(i=0;i
{
sum=sum+a[i];
if(a[i]>max)
{
max=a[i];
}
if(a[i]
{
min=a[i];
}
}
ave=(float)sum/N;
printf("max=%d,min=%d,sum=%d,ave= %.2f\n",max,min,sum,ave);
return 0;
}
3、产生一个由10个元素组成的一维数组并输出,数组元素由随机数(0-99)构成。按照升序排列并输出。解:(冒泡法)
c语言第七章数组课后练习题答案
c语言第七章数组课后练习题答案
第七章数组
学习目的与要求:
1 、重点掌握一维数组的定义和引用;
、基本掌握二维数组的定义和引用;
、重点掌握字符型数组的定义与引用;
、能正确使用字符串处理函数;
、学会使用数组解决实际问题。
重点:
1 、一维数组的定义与引用;
、二维数组的定义与引用;
、字符数组的定义与引用;
第1讲
知识归纳:
1、一维数组的定义:类型说明符数组名[ 常量表达式 ] ;
数组名后必须用方括弧 [ ] ,用其他括弧均错误;
方括弧中的常量表达式表示数组的元素个数;
方括弧中的常量表达式,必须是能计算出具体数值,且不改变的常量,不能是变量;
2、一维数组的引用:
数组名[ 下标 ] //下标从0
如 int a[10] ;
//可以引用的数组元素为不是本数组元素;
3、一维数组的初始化:
int a[3] ;
a = { 1,3,} ;
可以给数组的部分元素赋值,不赋值的元素,默认值为int 0, char, ??, float 0.0 ;
如 int a [3]= {1,} ; //a[0] =1 ; a[1]= ; a[2]= 0 ;
在对数组全部元素赋初值时,可以不指定元素个数;
可以在循环控制下,给数组各元素赋值;
如:int a[10] ;
for
a [ i ] = i ;
基础训练
一、选择题
1、在c语言中,引用数组元素时,其数组下标的数据类型允许是。
A)整型常量 B)整型表达式 )整型常量或整型表达式
D)任何类型的表达式
2、要说明一个有10个int元素的数组,应当选择语句。 ) int a[10]; B) int a; C) int a[9] D) int a[11]
一维数组的和函数综合编程练习
Find2(num,score,n,aver);
Find3(score,stu,n);
printf("60分以下人数%d,所占百分比%.2f%%\n",stu[0],((float)stu[0]/n)*100);
printf("60~69人数%d,所占百分比%.2f%%\n",stu[1],((float)stu[1]/n)*100);
(1)程序源代码
#include<stdio.h>
#define SIZE 30
void input(long a[],float b[],int n);
void Find1(long a[],float b[],int n,int m);
float sum(float a[],int n);
void Find2(long a[],float b[],int n,float m);
void Find3(float a[],int b[],int n);
void main(void)
{
lon百度文库 num[SIZE];
float score[SIZE],sum1,aver;
int n,stu[6]={0};
printf("请输入班级人数");
chap4习题练习
线上的敌方棋子,所以八皇后问题的所有解满足:8 个皇后都不在同一行、同一 列,或者同一斜线上。 输出所有的解。 提示:使用递归。
要求:读入一个奇数n,按照上述规则,输出n*n 的方阵。 16. **十五个猴子围成一圈选大王,依次1-7 循环报数,报到7 的猴子被淘汰, 直到最后一只猴子成为大王。问,哪只猴子最后能成为大王? 17. **螺旋填数 读入两个整数m,n,输出一个m 行n 列的矩阵,这个矩阵是1~m*n 这些自然 数ห้องสมุดไป่ตู้照右、下、左、上螺旋填入的结果。 例如:读入4, 5, 则输出 1 2 3 4 5 14 15 16 17 6 13 20 19 18 7 12 11 10 9 8 18. ***八皇后问题 在8×8 的国际象棋盘上,放置八个皇后,使任何一个皇后都不能吃掉另一 个。国际象棋规则中,皇后可以吃到任何一个与他在同一行、同一列或者同一斜
… } } 实现方式: 1. delete 方法:把数组pos 位后的所有元素向前移动1 位 2. insert 方法:把数组 pos 位以及之后的元素向后移动 1 位,然后设置 value。要注意的是,insert 时有可能需要数组扩容。有效元素的个数的含义: 对于a 数组,调用一次delete 之后,a 数组的长度不变,长度依然为5,然而有 效元素的个数为4 个。 Tips: insert 方法中,如何判断是否需要扩容:比较有效元素的个数和数组的长 度,如果这两者一致,则需要扩容。 10. *完成数组的冒泡排序算法:给定一个数组:int[] a = {1,3,2,7,5},利用 冒泡排序对其按照从小到大的顺序排序,然后输出结果。 11. *使用第二种算法对数组进行排序 12. *输出杨辉三角 杨辉三角如下: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 …… 杨辉三角的特点: 1. 第i 行有i 个元素 2. 每一行的第一个元素和最后一个元素都为1 3. 除了1 之外,每个元素的值,都等于上一行同位置的元素以及前一个元 素的和。 例如: 1 4 6 4 1 的下一行 1 a1 a2 a3 a4 1 a1 = 4 + 1 = 5 a2 = 6 + 4 = 10 a3 = 4 + 6 = 10 a4 = 1 + 4 = 5 依次类推。 要求:读入一个整数n,输出杨辉三角的前n 行 13. *数学黑洞6174 已知:一个任意的四位正整数。将数字重新组合成一个最大的数和最小的数 相减,重复这个过程,最多七步,必得6174。即:7641-1467=6174。将永远出不 来。 求证:所有四位数数字(全相同的除外) ,均能得到6174。输出掉进黑洞的 步数。 14. *筛选法求质数:输入一个整数n,求小于这个整数的所有质数。
一维数组选择题练习题
一维数组选择题练习题
第五章数组
第一讲一维数组的定义和使用
1.以下定义语句错误的是()
A.int a[5]={1};
B.int c[ ]={1,2,0,0,0};
C.int b[3+3];
D.int i=5,a[i];
2.以下一维数组的定义方式,正确的是()
A.int n=10;
B.#define Max 10
int a[n]; int a[Max];
C.int a[8.5];
D.int a[ ];
3.以下选项中,不能正确赋值的是()
A.char s1[10];s1=”Ctest”;
B.char s2[ ]={‘C’,’t’,’e’,’s’,’t’};
C.char s3[20]=”Ctest”;
D.char s4[10]={“Ctest”};
4.对赋值语句int b[10]={1,2,3,4,5};的正确理解是()
A.将5个初值依次赋给b[1]至b[5]
B.将5个初值依次赋给b[0]至b[4]
C.5个初值依次赋给b[6]至b[10]
D.因为数组长度与初值的个数不相同,所以此语句不正确
5.在C语言中,数组的下标可以是()
A.整型常量表达式
B.整型表达式
C.整型常量或整型表达式
D.任何类型的表达式
6.在C语言中,数组名表示()
A.数组第1个元素的地址
B.数组第2个元素的地址
C.数组所有元素的地址
D.数组最后一个元素的地址
7.若有说明:int a[10];,则对a数组元素的正确引用是()
A.a[10]
B.a[3.5]
C.a(5)
D.a[10-10]
8.以下能正确定义一维数组的选项是()
A.int a[5]={0,1,2,3,4,5};
上机五:C51单片机一维数组和二维数组的应用循环结构练习
1.流程图如下:
2.程序如下:
#include <reg51.h>
#define uint unsigned int
#define uchar unsigned char
void main()//主函数
{
while(1)//while死循环
{
if((P3&0x10)==0)//判断P3口上的八位与00010000相与后是否等于0,若是,则P3.4口为低电平,也就是接在P3.4口上的开关按上了。
任务二:循环点亮led小灯
1.流程图如下:
Biblioteka BaiduP1=0xfe;//当P3.4口上的开关按上了,那么就由用户使接在P1.0口上的灯亮。
else if((P3&0x20)==0)//和上面的一样,判断P3.5口上的开关是否按上了。
P1=0Xfd;//当P3.5口上的开关按上了,点亮接在P1.1口上的灯。
else if((P3&0x40)==0)//判断P3.6口的开关是否按上了。
}
3.仿真结果如下:
4.仿真结果分析:
从仿真图以及程序可以看出,当P3.4口上的开关按下时,不管其它三个开关有没有按下,只有受P3.4口开关控制的那个灯(p1.0口上的灯)才亮,以此类推,当只有P3.7口上的开关按下时,P1.3口上的灯才亮,而其它灯不亮,因为控制其它灯的按键没有按下,接在其它灯的IO口处于高电平状态。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基本练习:(釆用文件输入输岀)
1.输入一串小写字母(以〃.〃为结束标志),统计出每个字母在该字符串中出现的次数(若某字母不出现,则不要输出),例:
输入:aaaabbbccc.
输出:a:4
b:3
c: 3
规定:文件名:tongji. pas 输出文件:tongji. in输出文件tongji. out
程序:
var a:array/ z" ] of integer;
n:char;
begin
assign (input, ' tongji,in' );reset (input);
assign(output,' tongji. out' );rewrite(output);
read (n);
while n〈>'.' do
begin
inc (a[n]);
read(n);
end;
for n:=,a" to,z‘ do
if a[n]<>0 then writeln(n,J :,, a[n]);
close (input);close (output);
end.
2.输入一个不大于32767 (integer)的正整数N,将它转换成一个二进制数,例如:输A: 100 输出:1100100
规定:文件名:erjinzhi. pas 输出文件:erjinzhi. in输出文件erjinzhi. out
程序:
var
a:array[L . 16] of integer;
b, c, d, e: integer;
begin
assign (input,' erjinzhi. in');reset(input);
assign(output,' erjinzhi. out');rewrite(output);
readln(b);
if b>=0 then write(b,)
else write(b,'= -');
b:=abs(b);d:=0;
while b>0 do
begin
inc(d);
a[d]:=b mod 2;
b:=b div 2;
end;
for e:=d downto 1 do write(a[ej);
writein;
readln;
close (input);close(output);
end.
提高练习:(釆用文件输入输岀)
火3.输入一个由10个整数组成的序列,其中序列中任意连续三个整数都互不相同,求该序列中所有递增或递减子序列的个数,例如:
输入:1 10 85932674
输出:6
对应的递增或递减子序列为:
1 10
10 8 5
5 9
9 3 2
2 6 7
7 4
规定:文件名:geshu. pas 输出文件:geshu. in输出文件geshu. out
【拓展】
fuction
keytype:Boolean;
begin
if keytype then ......
【检测任意键回车出外)】
程序:
label 1, 3, 4;
var
c:array[1..10] of longint;
y, b, i:longint;
a, al:boolean;
begin
assign(input,' geshu. if);reset (input); assign(output,' geshu. out');rewrite(output); writ eC Please in put 10 numbers:,);
for i:=l to 10 do read(c[i]);
y: —0; b:=1; i: —0;
3:if c[b]>c[b+l] then
begin
a:=true;
dec (b);
l:inc (b);
while b begin if b=10 then begin inc(y) ; break; end; if c[b]>c[b+l] then begin al:=true; if al=a then goto 1 end else begin inc (y); goto 3; end; end; end else begin a:二false; dec (b); 4:inc (b); wh订e b begin if b=10 then begin inc(y) ; break; end; if c[b]〈c[b+l] then begin al:=false; if al=a then goto 4; end else begin inc(y); goto 3; end; end; end; writein('Then answer is y); close (input);close(output); end. *4.输入N个数,将这N个数按从小到大的顺序显示出來; 规定:文件名:paixu. pas 输出文件:paixu. in输出文件paixu. out var a:array[1.. 100000000] of integer; b, c, d, i, z:longint; begin assign (input,' paixu.in,):reset(input); assign (output,,paixu. out");rewrite(output); readln(i); //读入输入个数 for i:=l to i do read(a[i]); //循环读入,放入数组 for c:=1 to i do begin for b: = (c+l) to i do begin if a[c]>a[b] then begin a[c]:二a[c] xor a[b]; a[b]:=a[c] xor a[b]; a[c]:=a[c] xor a[b]; end; end; end; for z:=l to i do write(a[z],''); close (input);close(output); end. 猴子选大王;有"只猴子围成一圈,每只猴子各一个从1到N中的依次编号,打算从中选出一个大王;经过协商,决定出选大王的规则:从第一个开始循环报数,数到M的猴子出圈,最后剩下來的就是大王。要求:从键盘输入N、M,编程计算哪一个编号的猴子成为大王样例: 输入:7 3 输出:4