回 帖 发 新 帖 刷新版面

主题:帮忙吧!!!(我不会吝啬30分的)

1、 输入N个同学的语、数、英三科成绩,计算他们的总分与平均分,并统计出每个同学的名次,最后以表格的形式输出。
2、 输出杨辉三角的前N行(N<10)。
      1
      1 1
      1 2 1
      1 3 3 1
            1  4 6 4 1
[em7][em10][em14][em18][em4]

回复列表 (共5个回复)

沙发

HELP  ME!!!

板凳

第一个题要用表格,我就不知道怎么办了~

3 楼

//我用的Delphi 6 ,可以运行,不过在成绩上没有显示,也就是说 你数学考了10000也可以。
program Students;
{$APPTYPE CONSOLE}
type
  Student = record
   StuId : integer;
   Chinese : single;
   English : single;
   Maths : single;
   value : single;
   equal : single;
   list : integer;
end;
var
   i,j,N,t: integer;
   Stu : array of Student;
begin
   Write('please input the N:');
   Readln(N);
   setlength(Stu,N);
   for i:=1 to N do
   begin
     Stu[i].StuId := i;
     Write('No.',i,' Chinese :');
     Readln(Stu[i].chinese);
     Write('No.',i,' English :');
     Readln(Stu[i].English);
     Write('No.',i,' Maths :');
     Readln(Stu[i].Maths);
     Stu[i].value := Stu[i].Chinese + Stu[i].English + Stu[i].Maths;
     Stu[i].equal := Stu[i].value/3;
   end;
   for i:=1 to N  do
   begin
     Stu[i].list := 1;
     for j:=1 to N do
       if Stu[j].equal>Stu[i].equal then
         Stu[i].list := Stu[i].list + 1;
   end;
   Writeln;
   Writeln('    ID    Chinese  English   Maths   Value    Equal   List');
   Writeln('-----------------------------------------------------------');
   for i:=1 to N do
   begin
     Write(Stu[i].StuId:6,Stu[i].Chinese:9:1,Stu[i].English:9:1);
     Write(Stu[i].Maths:9:1,Stu[i].value:9:1,Stu[i].equal:9:1);
     Writeln(Stu[i].list:5);
   end;
    Writeln('----------------------------------------------------------');
   Readln;
end.

4 楼

杨辉:
var
  c,a,i,j:longint;
begin
  read(a);
  for i:=0 to a do
    begin
      c:=1;
      write(c:40-3*i);
      for j:=1 to i do
      begin
        c:=c*(i-j+1)div j;
        write(c:6);
      end;
      writeln;
    end;
  end.

5 楼

program yanghui;
{$APPTYPE CONSOLE}
function C(x,y:integer):integer;
begin
  if (y = (x + 1)) or ( y = 1) then
     C := 1
  else
     C := C(x-1,y-1) + C(x-1,y);
end;
var
  i,j,N: integer;
begin
  Write('please input the N:');
  readln(N);
  for i := 0 to N do
  begin
    for j := 1 to i+1 do
    begin
      write(C(i,j):6);
    end;
    writeln;
  end;
  readln;
end.

我来回复

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