pascal编程 急...将N个学生成绩从键盘输入,按0-59分,60-69分,70-79分,80-89分,90-100分分组统计人数

作者&投稿:訾唐 (若有异议请与网页底部的电邮联系)
下面的程序将n个学生的英文成绩从键盘输入,按0—59分、60—69分、70—79分、80—89分和90—100分分组统计~

56895

我帮你做第一题,以下是源程序和程序运行结果。

var
i,n,x,c0,c60,c70,c80,c90:integer;
begin
write('n=?');readln(n);
writeln('请输入',n,'个学生成绩');
for i:=1 to n do
begin
read(x);
case i div 10 of
6:c6:=c6+1;
7:c7:=c7+1;
8:c8:=c8+1;
9:c9:=c9+1;
10:c9:=c9+1;
else c0:=c0+1;
end case
end;
writeln('0-59分人数:',c0);
writeln('60-69分人数:',c6);
writeln('70-79分人数:',c7);
writeln('80-89分人数:',c8);
writeln('90-100分人数:',c9);
end.

var s:array [1..2,1..20] of integer;
r:array [5..9] of integer;
n,i,j:integer; k:boolean;
begin
readln(n); for i:=5 to 9 do r[i]:=0;
for i:=1 to n do begin
write(' ',i,') :'); readln(s[1,i]);
j:=s[1,i] div 10; if j=10 then j:=9;
if j<5 then j:=5; r[j]:=r[j]+1; s[2,i]:=j;
end;
for i:=5 to 9 do begin
if i=5 then write(' 0--',i*10+9,':') else
if i=9 then write(' 90--',i*10+10,':') else
write(' ',i*10,'--',i*10+9,':'); k:=true;
for j:=1 to n do if s[2,j]=i then
begin write(' ',s[1,j]:4); k:=false; end;
write('':20-r[i]*3); if k then write('':4);
writeln(' Yi gong ',r[i],' ren');
end; readln;
end.

Program aa;
var
put1:string[3];{成绩最多三位数用此判断输入几个成绩}
put2,code:integer;
range:integer;{范围}
num:array[1..5]of integer;{五个分数段}
begin
writeln;
write('input:');
read(put1);
while put1<>'#' do begin {以#作为结束的符号,这样可以自已确定输入几个成绩}
val(put1,put2,code);{将put1中的字符状态的数转化为整型状态}
range:=put2 div 10;{确定分数段}
if (range<6)and(range>=0) then num[1]:=num[1]+1;{0-59内的成绩}
case range of{其它分数段的成绩}
6:num[2]:=num[2]+1;
7:num[3]:=num[3]+1;
8:num[4]:=num[4]+1;
9:num[5]:=num[5]+1;
10:num[5]:=num[5]+1;{100分时的处理方法}
end;
write('input:');
readln(put1);{读下一个成绩}
end;
writeln('The result is:');{输出各分数段的人数}
writeln('0-59:',num[1]);
writeln('60-69:',num[2]);
writeln('70-79:',num[3]);
writeln('80-89:',num[4]);
write('90-100:',num[5]);
end.
试过了,可行,楼主可以试一下.
好苦啊~~~

网络收藏
asp、php、java等IT资讯首页电脑网络IT信息软件编程技术相关网络杂谈开发分类 当前位置:首页 ? 多媒体相关
Turbo Pascal中遇到的关于类型不吻合的疑问~请大虾赐教!
Posted on 八月 16rd, 2007 由 admin
一道题:
输入一个正整数n,将n分解成质因数幂的乘积形式。

我的解答:
program primemultiply;
var n,x:integer;
begin
write(n=);readln(n);
for x:=2 to n do
begin
x:=2;
while n mod x=0 do
begin
writeln(x);
......


宿城区15774203179: pascal编程 急...将N个学生成绩从键盘输入,按0 - 59分,60 - 69分,70 - 79分,80 - 89分,90 - 100分分组统计人数 -
爱新觉罗周复方: var i,n,x,c0,c60,c70,c80,c90:integer; begin write('n=?');readln(n); writeln('请输入',n,'个学生成绩'); for i:=1 to n do begin read(x); case i div 10 of 6:c6:=c6+1; 7:c7:=c7+1; 8:c8:=c8+1; 9:c9:=c9+1; 10:c9:=c9+1; else c0:=c0+1; end case end; ...

宿城区15774203179: pascal编程 输入n个整数,找出最大数所在的位置,并将它与第一个数对调 -
爱新觉罗周复方: beginreadln(n);for i:=1 to n do read(a[i]);k:=1;for i:=1 to n-1 doif a[k]<a[i+1] then k:=i+1;writeln(k);b:=a[1];a[1]:=a[k];a[k]:=b;write(a[1]);for i:=2 to n do write(' ',a[i]);writeln; end.

宿城区15774203179: turbo pascal编程:读入n个数,打印其中的最大数和最小数及其位置号.急! -
爱新觉罗周复方: varn,max,min,maxl,minl,i:integer;s:array [1..1000] of integer; beginmax:=-maxint;min:=maxint;maxl:=1;minl:=1;readln(n);for i:=1 to n do readln(s[i]);for i:=2 to n dobeginif s[i]>max thenbeginmax:=s[i];maxl:=i;end;if s[i]<min then...

宿城区15774203179: 用pascal编程 读入N,将N分解 例如: 将4分成 1:4=1+1+1+1; 2:4=1+1+2; 3:4=1+3; 3:4=4; 要源程序…… -
爱新觉罗周复方: 用搜索吧 program p1; var n,sum,j:longint; ans,t:string; procedure search(x,y:longint;s:string); var i:longint; t:string; begin if x=0 then begin inc(sum); writeln(sum,s); exit; end; for i:=y to x do begin str(i,t); search(x-i,i,s+'+'+t); end; end; begin readln(n); ...

宿城区15774203179: pascal:将n个整数连成一个最大的整数 -
爱新觉罗周复方: 就是数据排序.只是我的代码有些长.思路:把输入的数字的第一个数提取出来,进行排序,然后输出排序后的原数据.const maxn=100; var s:string; n,code,i:word; d,inp:array[1..maxn]of word; procedure swap(var a,b:word); var tmp:word; begin ...

宿城区15774203179: Pascal编程:读入N个数,打印其中的最大数及其位置号 -
爱新觉罗周复方: var a:array[1..10000] of integer; n,max,wz,i:longint; begin readln(n); for i:=1 to n do begin read(a[i]); if maxend; writeln(max,' ',wz); end.var a:array[1..10000] of longint; ans,n,i,f:longint; begin readln(n); for i:=1 to n do read(a[i]); if a[1]>a[2] then f:=1 ...

宿城区15774203179: pascal语言: 利用过程编写程序,计算前n个fibonacci数,每行打印k个.n和k由键盘读入. -
爱新觉罗周复方: var i,n,l,k:integer; a:array[1..500] of longint; begin readln(n); readln(k); a[1]:=0;a[2]:=1; write(a[1],' ',a[2],' '); for i:=3 to n do begin a[i]:=a[i-2]+a[i-1]; write(a[i],' '); if i mod k=0 then writeln; end; end.

宿城区15774203179: 用Pascal 编写一个程序将十进制整数n转换为二进制数. -
爱新觉罗周复方: var i:longint; n:qword; a:char; s:string; begin read(n); repeat i:=n mod 2; n:=n div 2; a:=chr(i+48); s:=s+a; until n=0; for i:=length(s) downto 1 do write(s[i]); end.

宿城区15774203179: 给出n个数,你要将这n个数从小到大排序输出 -
爱新觉罗周复方: 冒泡法#define NUM n/*n为数据个数*/ void main() { int a[NUM],i,j,t; for(i=0;i<NUM-1;i++)scanf("%d\t",&a[i]); scanf("%d",&a[i]);/*输入数据,用tab键隔开*/ for(i=0;i<NUM;i++) { for(j=0;j<NUM-i;j++) { if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t} } }/*冒泡法排序*/ for(i=0;i<NUM;i++)printf("%d\t",a[i]);/*按序输出*/ }

宿城区15774203179: pascal语言 求n个自然数的最大公约数和最小公倍数 急!急!急! -
爱新觉罗周复方: program wx01;const m=3; var a:array[1..m]of integer;i,s,n:integer; function zdgy(num1,num2:integer):integer; var j,k:integer; begin if num1<num2 then k:=num1else k:=num2; for j:=k downto 1 do if (num1 mod j=0)and(num2 mod j=0) then begin ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网