主题:请各位大侠帮我完成这几个题目
一根軸承
[专家分:0] 发布于 2005-06-17 21:06:00
哎呀``我刚刚学编程`學的是pascal語言``遇到了一点不懂的题目`希望各位能帮我解答``
题目如下
1 求1!+2!+…+10!的值。(说明:N!=N*(N-1)……2*1,如:3!=3*2*1)
①写出算法;②用PASCAL语言写出该程序。
2 给一个字母,要求打印出一个菱形,该菱中间一行由该字母组成,其相邻的上下两行由它前面一个字母组成,按此规律直到字母A为止。如:输入字母D,输出
A
BBB
CCCCC
DDDDDDD
CCCCC
BBB
A
①写出算法;②用PASCAL语言写出该程序。
3 输入10名学生语文、数学、物理、英语、化学五门课的考试成绩,按总分的降序输出这10名学生的各科成绩。
①写出算法;②用PASCAL语言写出该程序。
回复列表 (共19个回复)
沙发
zhsas [专家分:1680] 发布于 2005-06-17 21:55:00
你可真厉害.一口气出了三个题目.先给你字母组成菱形的呀.
program zhs (input,output);
var
ch,i:char;
m,n,j:integer;
begin
read(ch);
n:=40;
m:=0;
for i:='a' to ch do
begin
n:=n-2;
write('':n);
m:=m+2;
for j:=1 to m-1 do
write(i:2);
writeln
end;
for i:=pred(ch) downto 'a' do
begin
n:=n+2;
write('':n);
m:=m-2;
for j:=m-1 downto 1 do
write(i:2);
writeln
end
end.
板凳
一根軸承 [专家分:0] 发布于 2005-06-17 22:12:00
请问CH是什么意思啊``
3 楼
zhsas [专家分:1680] 发布于 2005-06-17 22:12:00
给你阶乘1------10的和的程序.
program zhs (input,output);
function f(n:integer):real;
begin
if n=0
then f:=1
else f:=n*f(n-1)
end;
begin
writeln(f(1)+f(2)+f(3)+f(4)+f(5)+f(6)+f(7)+f(8)+f(9)+f(10))
end.
4 楼
zhsas [专家分:1680] 发布于 2005-06-17 22:14:00
你几年级呀?学这个学了多久呀?
CH只是一个变量.
VAR是变量说明,它后面的东东全是变量.
5 楼
一根軸承 [专家分:0] 发布于 2005-06-17 22:24:00
呵呵
我高1`剛剛開始學。。老師講的太多的
好多都記不住
6 楼
zhsas [专家分:1680] 发布于 2005-06-17 23:21:00
这三个题目是有点难度的.
怎么刚学,老师就出这么难的题目呀?有没有搞错呀?
我刚才说的,你明白了吗?__________CH只是一个字符型变量.
7 楼
zhsas [专家分:1680] 发布于 2005-06-18 00:02:00
递归求阶乘对初学者来说不太好懂,现在给用循环做的.
program zhs (input,output);
var
i:integer;
sum,fac:real;
begin
sum:=1;
fac:=1;
for i:=2 to 10 do
begin
fac:=fac*i;
sum:=sum+fac
end;
writeln(sum)
end.
8 楼
zhsas [专家分:1680] 发布于 2005-06-18 01:53:00
最后给出排序的.
program zhs (input,output);
var
score:array[1..10,1..5] of real;
sum:array[1..10] of real;
temp:array[1..5] of real;
tem:real;
i,j,k:integer;
begin
for i:=1 to 10 do
begin
sum[i]:=0;
for j:=1 to 5 do
begin
read(score[i,j]);
sum[i]:=sum[i]+score[i,j]
end
end;
for i:=1 to 9 do
for j:=i+1 to 10 do
if sum[i] < sum[j]
then begin
tem:=sum[i];
sum[i]:=sum[j];
sum[j]:=tem;
for k:=1 to 5 do
begin
temp[k]:=score[i,k];
score[i,k]:=score[j,k];
score[j,k]:=temp[k]
end
end;
for i:=1 to 10 do
begin
write(sum[i]:6:2,'':10);
for j:=1 to 5 do
write(score[i,j]:5:2,'':5);
writeln
end
end.
9 楼
一根軸承 [专家分:0] 发布于 2005-06-18 15:21:00
太感谢了你``谢谢``明白了``CH是一个变量说明``和VAR一样的``是吗?
10 楼
一根軸承 [专家分:0] 发布于 2005-06-18 15:21:00
不好意思啊``请问FAC是什么啊 ?
我来回复