pascal 的一些题目

来源:百度知道 编辑:UC知道 时间:2024/05/20 12:08:33
帮帮解决下一下几个题 用pascal编写! 解决后有重赏!!!

1 输入x,y 输出最大公约数

2 输入一个二进制数 输出十进制数表示

3 求1~100之间所有偶数的和(包括100)

4 输入15个数 统计其中正、负、0的个数

帮帮忙啦~~~拜托啦!! 急等!!!!!!
最好详细些 有注释最好

1.
var
a,x,y:longint;
begin
read(x,y);
if x>y
then a:=y+1
else a:=x+1;
repeat{一个一个试,简单,易懂}
a:=a-1;
until (x mod a=0)and(y mod a=0);
writeln(a);
end.
2.
var
t,l,i,temp:integer;st:string;
begin
readln(st);
t:=0;l:=length(st);
for i:=l downto 1 do
if st[i]='1' then begin
temp:=1;
for j:=1 to l-i do temp:=temp*2;
inc(t,temp);
end;
writeln(total);
end.
3.
var
h,i:integer;
begin
h:=0;
for i:=1 to 100 do
if i mod 2=0{判断I是否为偶数,如果是就加在和上}
then h:=h+i;
writeln(h);
end.
4.
var
a:array[1..15]of integer;{一个数组,存放15个数}
i,z,f,l:integer;{Z是正数个数,F是负数个数,L是0的个数}
begin
z:=0;
f:=0;
l:=0;
for i:=1 to 15 do
read(a[i]);
for i:=1 to 15 do
if a[i]>0
then z:=z+1
else if a[i]<0
then f:=f+1
else l:=l+1;
writeln(z:10,f:10,l: