嘛......這題要簡單可以很簡單(int加法),要難可以很難(大數,費式大數版,空白亂亂加...etc)
內容 :
請寫一個程式,讀入兩個數字,並求出它們的和。
輸入說明 :
每一組輸入有兩個整數(int)
輸出說明 :
範例輸入 :
範例輸出 :
提示 :
背景知識:
基本輸出輸入 ----------------------------------------------------------------------
(**********************************************************************************)
(* Problem: a002 "簡易加法" *)
(* Language: PASCAL *)
(* Result: AC (2ms, 606KB) on ZeroJudge *)
(* Author: grd at 2011-07-26 14:30:20 *)
(**********************************************************************************)
program easyplus;
var a,b:longint;
begin
while not eof do begin
readln(a,b);
writeln(a+b);
end;
end.----------------------------------------------------------------------
基本上pascal的讀入寫出就是4個方式
read : 數值的話讀到下一個空格為止,字串則是讀入一行
ex:
input=1 2 3 4 5
while not eoln do
read(num);
readln; //必加readln; 如果沒加會陷入循環
----------------
readln:數值的話讀到下一個空格為止,字串則是讀入一行 (這裡跟read是一樣的)
但是讀完後,指標到下一行去
ex:
input=1 2 3
readln(x,y,z);
----------------
write :不會換行的輸出
ex:
input(a)='ha','ha','ha','ha'
for run:=1 to 4 do
write(a);
output=hahahaha
----------------
writeln :會換行的輸出
input(a)='ha','ha','ha','ha'
for run:=1 to 4 do
writeln(a);
output=
ha
ha
ha
ha
----------------
須注意的是,readln在空格失誤或是多出的狀況,會出現問題的
請參見liou大的 d392 读取练习——强大的加法!
ex:
input= 123 5 1 3 71 1 <end of file
如果用read的話.....
var sum,temp:longint;
begin
while not eoln do begin
read(temp);
sum:=sum+temp;
end;
readln;
writeln(sum);
end.
在read(temp);的時候,會因為input最後是空白,判定未"尚未eoln" 所以就會在那癡癡的等著下一個數據
當然......這時候就會毫不留情的送你一個TLE啦~
文章定位: