回 帖 发 新 帖 刷新版面

主题:[讨论]编程题

3、'对32个学生的成绩进行分类统计,其成绩分别为(在data语句中)
'问获得100分的有几个学生,得90~99分的有几个学生,得80~89分的有几个学生,…。0~9分的有几个学生?
'分析:设S(0)记0~9分的学生数
'S(1)记10~19分学生数
'……………………
'S(9)记90~99分的学生数
'S(10)记100分的学生数
data 65,57,71,75,80,90,91,88,78,82,77,86
data 45,38,44,46,83,83,79,85,70,68,83,59
data 98,92,100,97,85,73,80,77,-1

回复列表 (共6个回复)

沙发

cls
dim a(10)
for i=1 to 32
  read x
  a(x\10)=a(x\10)+1
next i
for i=1 to 10
  print a(i);
next i
end

板凳

建议初学者使用select case语句

3 楼

cls
input n
dim a(n),b(n)
for i = 1 to n
input a(i)
next i
for i = 1 to n
b(a(i)\10)=b(a(i)\10)+1
next i
for i = 1 to n
print b(i)
next i
end
号外:王俊伟的方法不错,但是有一定局限性.PS:"JUN"太难打了!

4 楼

#1 楼:
应该是 for i=0 to 9

#3 楼: for i=1 to n 应改为 for i=0 to 9

5 楼

DATA 65,57,71,75,80,90,91,88,78,82,77,86
DATA 45,38,44,46,83,83,79,85,70,68,83,59
DATA 98,92,100,97,85,73,80,77,-1

    DIM a%(9), b AS INTEGER
    READ b
    DO UNTIL b = -1
      a(b \ 10) = a(b \ 10) + 1
      READ b
    LOOP
    FOR i = 0 TO 9
      PRINT i * 10; "-"; i * 10 + 9; ": "; a(i)
    NEXT i
END

6 楼

[quote]#1 楼:
应该是 for i=0 to 9

#3 楼: for i=1 to n 应改为 for i=0 to 9
[/quote]
哦 手误了

我来回复

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