//确实很多问题
//楼上的1错了 eof是文件结束 eoln是文件里的一行结束
// while not eoln(input1) do
// while not eof(input1) do
//等于 while 一行没有结束 do
// while 文件没有结束 do
//一行没结束 文件怎么会结束?
//------------------------分割线------------------------
Program Juangshin;
var i,lenA:longint;
a:array[1..10000] of string;
input1,input2,output:text;//output本来就是pascal的标准输出
//现在不需要两个输出文件 可以不用声明
s,str1,str2:string;
begin
assign(output,'dat.txt');rewrite(output);
write('请输入作为被比较组的TXT文件(务必使用英文,在20个字节之内,并带后缀名):');
readln(str1);
write('请输入作为比较组的TXT文件(务必使用英文,在20个字节之内,并带后缀名):');
readln(str2);
write('请输入作为比较组的TXT文件的号码总数:');
assign(input1,str1);reset(input1);//A文件
assign(input2,str2);reset(input2);//B文件
//Assign之后马上Reset即可
while not eof(input2) do begin //将B文件中的号码读入放在A数组
inc(lenA);
readln(input2,a[lenA]);
end;
while not eof(input1) do begin//每次读入A文件中的一个号码
//判断它在是否在A数组中 不在则输出
readln(input1,s);
for i:=1 to lenA do if a[i]=s then break;
if a[i]<>s then writeln(output,s);
end;
close(input1);//关闭文件
close(input2);
close(output);
end.
想问一下,K指的是什么,
你的程序有很多问题
1 while not eof(input1) do
begin
while not eoln(input1) do
begin
你这里写错了,正确的是
while not eoln(input1) do
begin
while not eof(input1) do
begin
2 readln(input1);
如果input1有几组号码,用readln是对的,但是你又用s[i]记录,导致前面的数据丢失
你在写有关文件的程序的时候,可以先别放文件进去,把程序写对了,再发
还有你的程序,你可以发数据给我看看
要用trie
1.nmod3
2.2*Pi*r或Pi*d
假设半径为r,直径为d,Pi是Pascal内置的常数
3.age>50
假设年龄为age
4.(nmod5=0)and(nmod3=0)
其实nmod15=0就可以了,不过不知道这道题想考什么
5.(ymod4=0)and(ymod100<>0)or(ymod400=0)
6.-32
7.x-32
由于不知道x的值,所以无法给出具体结果.当x是一个大写字母时结果是它对应的小写字母的asc码
8.当x是一个大写字母时,结果是它对应的小写字母1.输入数据呢...
(x)(y)
s=(x+y)n=0t=3
加括号的内容替换成相应的值2.
inputnumber:206{这一行是输入}x/y=20/6=3......23.
inputnumber:28-9{输入}
a=28b=-9
a=-9b=28
说明:两个writeln之间那段是交换a和b,不过一般写成:
a:=axorb;b:=axorb;a:=axorb;
这样改的好处是不用担心a+b超整型上界之类的问题,而且对字符等类型的变量同样适用.