用pascal编程序:输入一串字符(数字与小写字母),请你按ASCⅡ码 的顺序将这些字符串输出 谢谢了..!

来源:百度知道 编辑:UC知道 时间:2024/09/28 09:05:11
高手们帮帮忙啊...!
我的生死就掌握在您的手中啦...!
各位,,帮忙啊,,!

这个实在是太简单了,连排序都不需要,用哈希数组就行。
如果能确保输入数没有重复,就用第一个,不能就用第二个程序。
Program ASCII;
var
s:string;
a:array[48..122] of boolean;{'0'的ASCII码是48,'z'的ASCII码是122};
i,l:integer;
begin
fillchar(a,sizeof(a),false);{数组全为false}
readln(s);
l:=length(s);
for i := 1 to l do
a[ord(s[i])]:=true;
for i := 48 to 122 do
if a[i] then
write(chr(i),' ')
end.
第二个程序:
Program ASCII;
var
s:string;
a:array[48..122] of integer;{'0'的ASCII码是48,'z'的ASCII码是122};
i,j,l:integer;
begin
fillchar(a,sizeof(a),0);{数组全为0}
readln(s);
l:=length(s);
for i := 1 to l do
inc(a[ord(s[i])]);
for i := 48 to 122 do
if a[i]>0 then
for j := 1 to a[i] do
write(chr(i),' ')
end.

把字符存入数组array of char
到网上找一个排序的代码(但凡PASCAL版数据结构的书都会有排序的算法),把此数组排序,然后输出就可以了

r