搜索
首页 电脑/网络 硬件

一个数组的pascal问题

  (1)输入a1、a2、a3,……a20,将他们从小到大排序后输出,并给出现在每个元素所对应的原来次序。如:输入;27,3,25,27,14,39输出: 6(2)输入一串字符,以“?”结束,统计各字母出现的次数,并按字母出现的多少输出(县输出字母多的,次数相同的按字母表顺序输出,不出现的字母不输出)。
  如:输入:5b3a+4-hdeh5dh13输出:h3d2a1b1e1(3)插入排序(在输入过程中完成排序)。以任意次序读入20个数,将第一个数放入数组a的第一个元素中。以后读入的数应与已存入数祖a中的数进行比较,确定他在从小到大的排列中应处的位置。将该位置及其后面的元素向后推移一个位置,将信度入的数据天如孔楚的位置。
  这样在数组a中的数总是从小到大排列的。20个数据处理完后输出数组a。(4)约瑟夫问题。m个人围成一圈,从第一个人开始报数,数列n的人出圈。在由下个开始报数,数到n的人出圈,…输出依次出圈的人的编号。如:m=8,n=5依次出圈的是:5,2,8,7… 。

全部回答

2006-09-28

0 0

    var i,j。temp:integer; a,b:array[1。。20]of integer; begin for i:=1 to 20 do read(a[i]); for i:=1 to 20 do b[i]:=i; for i:=1 to 20 do for j:=1 to 20 do if a[i]>a[j] then begin temp:=a[i]; a[i]:=a[j]; a[j]:=temp; temp:=b[i]; a[i]:=b[j]; b[j]:=temp; end; for i:=1 to 20 do writeln(a[i],' ',b[i]); end。
     var a;array['a'。。'z']of integer; ch:char; begin read(ch); while ch<>'?' do begin a[ch]:=a[ch]+1; read(ch); end; for ch:='a' to 'z' do if a[ch]<>0 then write(ch,' ',a[ch]; end。
     。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
硬件
程序设计
电脑装机
操作系统/系统故障
笔记本电脑
百度
互联网
反病毒
软件
硬件
硬件
键盘/鼠标
显卡
显示器
主板
CPU
硬盘
内存
举报
举报原因(必选):
取消确定举报