主题:字符串的读入问题
hqy332832593
[专家分:0] 发布于 2008-08-04 02:35:00
要读入一系列数据
字符串 数字数据 在一行
读入后有问题 ``
怎样读入?
var n:string;
j:integer;
begin
read(n,j);
write(n,j);
end.
这样是错的
但我不知道怎么改 ``注意 :题目要求是n和j是一行
????
各位帮帮忙``
回复列表 (共5个回复)
沙发
xuyifan [专家分:40] 发布于 2008-08-04 07:44:00
N是字符数组(字符串),J是整型变量,不能同时输入,
改:
var n:string;
j:integer;
begin
read(n);
read(j);
write(n);
write(j);
end.
板凳
小田甜 [专家分:3910] 发布于 2008-08-04 12:00:00
var n:string; i,j:byte; code:integer;
begin
readln(n);
for i:=length(n) downto 1 do if n[i]=' 'then break;
val(copy(n,i+1,length(n)-i),j,code);
delete(n,i,length(n)-i+1);
writeln(n);
write(j);
readln;
end.
3 楼
hqy332832593 [专家分:0] 发布于 2008-08-06 16:42:00
看不懂
可能我水平不到吧 `
4 楼
mxalbert1996 [专家分:780] 发布于 2008-08-07 10:45:00
uses crt;
var
n:string;
j:integer;
x:char;
p,code:integer;
f:boolean;
begin
x:=readkey;
write(x);
while x<>chr(13) do begin
if x=' '
then f:=true
else
if not f
then n:=n+x
else begin
val(x,p,code);
j:=j*10+p;
end;
x:=readkey;
write(x);
end;
writeln;
writeln('n=',n);
writeln('j=',j);
end.
虽然比较长,但还是可以的~~
5 楼
mxalbert1996 [专家分:780] 发布于 2008-08-07 10:49:00
[quote]var n:string; i,j:byte; code:integer;
begin
readln(n);
for i:=length(n) downto 1 do if n[i]=' 'then break;
val(copy(n,i+1,length(n)-i),j,code);
delete(n,i,length(n)-i+1);
writeln(n);
write(j);
readln;
end.
[/quote]
这个程序输出的j不对呀!
我用瞎打的数据测试的:78tg*^R&n87t73h49 6874,
输出:
78tg*^R&n87t73h49
218
我来回复