pascal成绩排名
① pascal 四科成绩总和
一个人的
program 123;
var
a,b,c,d:longint;
begin
readln(a,b,c,d);{输入四科成绩}
writeln(a+b+c+d);{求和}
writeln((a+b+c+d) div 4);{求平均内分}
end.
多个人的
program 123;
var
i,n:longint;
a,b,c,d:array[1..10000]of longint;
begin
readln(n); {输入人容数}
for i:=1 to n do
readln(a[i],b[i],c[i],d[i]); {输入每个人的四科成绩}
for i:=1 to n do
writeln(a[i]+b[i]+c[i]+d[i]); {求和}
writeln((a[i]+b[i]+c[i]+d[i]) div 4); {求平均分}
end.
② Pascal 排名次 问题
程序片段:
读入后:
for i:=1 to 10 do
for j:=1 to 10 do
begin
if marks[i,4]<mars[j,4] then inc(marks[i,5]);
end;(排序)内
for i:=1 to 10 do write(i,':',marks[i.5]);(输出容)
readln;
end.
③ pascal编程输入三个同学的成绩,求出平均分和总分,然后从高到低排序,求解
program ex_1;
var
x,y,z:integer;
procere px(var a,b:integer); //排序的过程
var
i:integer;
begin
if a<b then
begin
i:=a;
a:=b;
b:=i;
end;
begin
read(x,y,z);
writeln((trunc(x+y+z)/3),’ ‘,x+y+z); //输出平均分(trunc取整数部位)和专总分
px(x,y); //进行排属序
px(y,z);
px(x,y);
write(x,y,z);
end.
④ pascal题 成绩排名 过程!
program sortV;
type
information=record
num:integer;
nam:string;
chn,mat,sum:integer;
end;
var
i,n:integer;
infR:array[1..100] of string;
inf:array[1..100]of information;
it:information;
st:string;
t,tn,code:integer;
procere sort(n:integer);
var
i,j:integer;
t:information;
begin
for i:=1 to n-1 do
for j:=i to n do begin
if inf[i].sum<inf[j].sum then begin
t:=inf[i];
inf[i]:=inf[j];
inf[j]:=t;
end;
if ((inf[i].num<inf[j].num) and (inf[i].sum=inf[j].sum)) then begin
t:=inf[i];
inf[i]:=inf[j];
inf[j]:=t;
end;
end;
end;
begin
readln(n);
for i:=1 to n do
readln(infR[i]);
for i:=1 to n do begin
st:=infR[i][1];
t:=2;
while (infR[i][t]<>' ') do begin
st:=st+infR[i][t];
inc(t);
end;
val(st,tn,code);
inf[i].num:=tn;
inc(t);
st:=infR[i][t];
inc(t);
while (infR[i][t]<>' ') do begin
st:=st+infR[i][t];
inc(t);
end;
inf[i].nam:=st;
inc(t);
st:=infR[i][t];
inc(t);
while (infR[i][t]<>' ') do begin
st:=st+infR[i][t];
inc(t);
end;
val(st,tn,code);
inf[i].chn:=tn;
inc(t);
st:=infR[i][t];
inc(t);
while (t<=length(infR[i])) do begin
st:=st+infR[i][t];
inc(t);
end;
val(st,tn,code);
inf[i].mat:=tn;
inf[i].sum:=inf[i].chn+inf[i].mat;
end;
sort(n);
for i:=1 to n do
writeln(inf[i].num,' ',inf[i].nam,' ',inf[i].sum);
end.
⑤ Pascal中如何输出分数
写程序通分,分别求分子分母,用最大公约数,最小公倍数求解
⑥ 急!!!求pascal问题:输入5个学生的姓名和语、数、英成绩,根据总分从大到小排序输出。
type xx=record
na:string;//记录姓名
x,y,z,sum:longint;//记录语文,数学,英语和总分
end;
var a,b,c,d,e,m,n:longint;
ch:char;
s:array[0..5]of xx;
ss:string;
begin
n:=5;
for a:=1 to n do
begin
read(ch);
while ch<>' ' do
begin
s[a].na:=s[a].na+ch;
read(ch);
end;//读入姓名
readln(s[a].x,s[a].y,s[a].z);//读入语文数学英语
s[a].sum:=s[a].x+s[a].y+s[a].z;//计算总分
end;
for a:=1 to n do
for b:=a+1 to n do
if s[a].sum<s[b].sum then
begin
ss:=s[a].na;
s[a].na:=s[b].na;
s[b].na:=ss;
e:=s[a].sum;
s[a].sum:=s[b].sum;
s[b].sum:=e;
end;//排序
for a:=1 to n do
writeln(s[a].na);//输出
end.
⑦ 求pascal题 允许并列的排名
var i,n,s:longint;
a:array[1..100]of longint;
begin
readln(n);
for i:=1 to n do
read(a[i]);
readln(m);
for i:=1 to n do
if a[i]>a[m] then inc(s);
writeln(s+1);
end.
⑧ 如何用pascal编写程序:输入5个学生的语文成绩 排出他们的名次 并带上原来的编号
帮你写是作弊,可以给你提示:
用a和b两个数组分别储存成绩和编号,排序后用以i为变量1到5的for循环分行输出i和b[i]
⑨ pascal 程序有什么问题,5个学生成绩排序,输入1,2,3,4,5和5,4,3,2,1(每行一个)结果都有问题
冒泡排序部分应该是:
for n:=1 to 4 do //------------ maopaopaixu
for m:=1 to 4 do
if stu[m].score>stu[m+1].score then
begin
temp:=stu[m];
stu[m]:=stu[m+1];
stu[m+1]:=temp;
end;
你的begin位置内打错了容
⑩ pascal 如何做可以帮排序的成绩统计程序
//读入:一行姓名,一行成绩;输出: 第回i名 姓名:答成绩var a:array[1..10000] of longint; name:array[1..10000] of string; temp,i,j,n:longint;begin readln(n); for i:=1 to n do begin readln(name[i]); readln(a[i]); end; for i:=1 to n-1 do for j:=i+1 to n do if a[i]>a[i] then begin temp:=a[i]; a[i]:=a[j]; a[j]:=temp; end; for i:=1 to n do writeln(i,name[i],':',a[i]);end.