回 帖 发 新 帖 刷新版面

主题:一个不同数据类型的线性输入语句,该怎么写?

一个不同数据类型的线性输入语句,该怎么写?
如:
读入以下数据,每个数据用空格分隔,且以下数据一次性给出,准确付给相应类型的变量标示符,而不造成数据类型错误(for语句,循环两次)
Yao 87 82 Y N 0
Chen 88 78 N Y 1

求解.

回复列表 (共2个回复)

沙发

举个例子罢了。。(可能有错)
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??

板凳

字符串用字符读入(一个while判断空格停止),数字直接读。

我来回复

您尚未登录,请登录后再回复。点此登录或注册