主题:一个不同数据类型的线性输入语句,该怎么写?
jyz8125226
[专家分:50] 发布于 2009-09-21 02:10:00
一个不同数据类型的线性输入语句,该怎么写?
如:
读入以下数据,每个数据用空格分隔,且以下数据一次性给出,准确付给相应类型的变量标示符,而不造成数据类型错误(for语句,循环两次)
Yao 87 82 Y N 0
Chen 88 78 N Y 1
求解.
回复列表 (共2个回复)
沙发
abcwuhang [专家分:1840] 发布于 2009-09-23 11:43:00
举个例子罢了。。(可能有错)
var ....{略了}
begin
for i:=1 to n do
begin
readln(st);
while st[1]=' ' do
delete(st,1,1);
while st[length(st)]=' ' do
delete(st,length(st),1);
j:=0;
while pos(' ',st)>0 do
begin
j:=j+1;
case j of
1:a[i].name:=copy(st,1,pos(' ',st)-1);
2:val(copy(st,1,pos(' ',st)-1),a[i].mark1,code);
3:val(copy(st,1,pos(' ',st)-1),a[i].mark2,code);
4:if st[1]='Y' then a[i].flag1:=true else a[i].flag1:=false;
5:if st[1]='Y' then a[i].flag2:=true else a[i].flag2:=false;
6:if st[1]='1' then a[i].flag3:=true else a[i].flag3:=false;
end;
delete(st,1,pos(' ',st));
end;
end;
...{过程}
end.
PS:你的这题是否是NOIP2005复赛普及组第一题的scholar??
板凳
小田甜 [专家分:3910] 发布于 2009-09-25 18:44:00
字符串用字符读入(一个while判断空格停止),数字直接读。
我来回复