菜鸟pascal 输入输出问题

作者&投稿:堵肯 (若有异议请与网页底部的电邮联系)
~ 第一行第二行没什么好说的:readln(a);readln(b,c);
第三行后的每一行处理方式都一样的:
一个数字+一个字母
+一个数字
先读3个字符
readln(ch1,ch2,ch3);
x:=ord(ch1)-ord('0');
y:=ord(ch2)-ord('0');
这样要读的
一个数字+一个字母
+一个数字
就是
x
ch2
y
如果不是一个数字
而是一个
整数
那么处理起来就有点点麻烦,用字符串读一行,然后对字符串处理,下面给段代码:
readln(s);
i:=1;
while
s[i]
in
['0'..'9']
do
inc(i);
//循环结束
i
将指着那一个字母所在的位置
s1:=copy(s,1,i-1);
//1至i-1位置为第一个数,把它copy出来,然后用val转换成整数
val(s1,x);
//
x即为第一个数
s2:=copy(s,i+1,length(s)-i);//i+1至最后为第二个数,copy出来
然后转换成整数
val(s2,y);
到这里就把整数+字符+整数读出来了
分别是
x
s[i]
y