求助 几道PASCAL编程题,谢谢 会一个写一个

来源:百度知道 编辑:UC知道 时间:2024/06/24 08:48:03
1、 输入20个整数,统计其中正、负和零的个数并输出;
2、 在1—500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数并输出;
3、 编写程序打印下列金字塔
*
* + *
* + + + *
* + + + + + *
* + + + + + + + *
* + + + + + + + + + *
* + + + + + + + + + + + *
4、 从键盘上输入10个数,按从小到大的顺序排序;
5、 输出1—999中能被3整除,且至少有一位数字是5的数;
6、百钱买百鸡:公元5世纪末,我国古代数学家张丘在《算经》中提出了“百鸡问题”:“鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一。百钱买百鸡,问鸡翁、母、雏各可买多少只?(请用单层循环)

1.
var i,x1,x1,x2:integer;
begin
x1:=0;
x2:=0;
for i:=1 to 20 do
begin
read(x);
if x>0 then x1:=x1+1;
if x<0 then x2:=x2+1;
end;
writeln('正数',x1,'个,负数:',x2,'个');
end.

2.
var i:integer;
begin
for i:=1 to 500 do
if (i mod 3=2) and (i mod 5=3) and (i mod t=2)
then write(i,' ');
end.

3.
var i,j:integer;
begin
for i:=1 to 7 do
begin
for j:=1 to 7 do write(' ');
if i=1 then write('*') else
begin
write('*');
for j:=1 to (i-1)*2-1 do write('+');
write('*');
end;
writeln;
end;
end.

4.
var a:array [1..10] of integer; i,j,k,x:integer;
begin
for i:=1 to 10 do read(a[i]);
for i:=1 to 9 do
begin
k:=i;
for j:=i+1 to 10 do if a[j]>a[k] then k:=j;
if k<>i then begin x:=a[k];a[k]:=a[i];