pascal读入字符串的问题!!
发布网友
发布时间:2024-04-23 09:37
我来回答
共5个回答
热心网友
时间:2024-05-14 18:09
那就依题意而定啦
题目简单的话甚至只需要一个字符变量
while not eof do
begin
read(ch);
....
end;
若找不到这样的算法那就开字符数组或AnsiString吧
AnsiString 是动态存储的,所以最大可以达到你的内存总大小,2000完全没问题。
热心网友
时间:2024-05-14 18:09
这是可以办到的。
program strings;
var
a:array[1..10000] of integer;
i:longint;
begin
for i:=1 to 10000 do
begin
read(a[i]);
if a[i]=chr(13) then break;{回车的ASCII码为13}
end;
for i:=1 to 10000 do
if a[i]=' ' then break else write(a[i]){为空即退出}
end.
热心网友
时间:2024-05-14 18:09
我说下思路吧,用字符串肯定不行,因为字符串限定了读入时的长度。不妨就用字符读取,字符读取就会一个一个地读,然后存入一个数组(但先用函数求出他的ASCII码是多少,存在数组中的就是ASCII码)这样就搞定了```
热心网友
时间:2024-05-14 18:10
var
a:array[1..9] of string; {2000/255≈9}
i:longint;
begin
for i:=1 to 9 do
read(a[i]); {一定要用read,不要用readln}
end.
热心网友
时间:2024-05-14 18:11
a:packed array [1..2000] of char;
紧缩型数组,可以象字符串一样直接使用(类型只限char)/例: readln(a).