主题:帮忙吧!!!(我不会吝啬30分的)
HarryPotter
[专家分:20] 发布于 2005-11-25 20:36:00
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个回复)
沙发
HarryPotter [专家分:20] 发布于 2005-11-25 20:39:00
HELP ME!!!
板凳
口口and枕头 [专家分:1550] 发布于 2005-11-25 20:42:00
第一个题要用表格,我就不知道怎么办了~
3 楼
onasp [专家分:5600] 发布于 2005-11-25 21:51:00
//我用的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 楼
绿步甲 [专家分:1610] 发布于 2005-11-25 22:29:00
杨辉:
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 楼
onasp [专家分:5600] 发布于 2005-11-25 22:50:00
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.
我来回复