回 帖 发 新 帖 刷新版面

主题:请各位大侠帮我完成这几个题目

哎呀``我刚刚学编程`學的是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个回复)

沙发

你可真厉害.一口气出了三个题目.先给你字母组成菱形的呀.
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.

板凳

请问CH是什么意思啊``

3 楼

给你阶乘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 楼

你几年级呀?学这个学了多久呀?
CH只是一个变量.
VAR是变量说明,它后面的东东全是变量.

5 楼

呵呵
我高1`剛剛開始學。。老師講的太多的
    好多都記不住

6 楼

这三个题目是有点难度的.
怎么刚学,老师就出这么难的题目呀?有没有搞错呀?
我刚才说的,你明白了吗?__________CH只是一个字符型变量.

7 楼

递归求阶乘对初学者来说不太好懂,现在给用循环做的.
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 楼

最后给出排序的.
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 楼

太感谢了你``谢谢``明白了``CH是一个变量说明``和VAR一样的``是吗?

10 楼

不好意思啊``请问FAC是什么啊 ?

我来回复

您尚未登录,请登录后再回复。点此登录或注册