猝死是修行来的:这个问题很难理解

来源:百度文库 编辑:高考问答 时间:2024/05/03 18:14:46
题目是这样:
学生成绩统计:已知一批学生某门课的成绩,现要统计表100分,90-99,80-89......0 - 9 分之间的学生人数。
用QBASIC程序编写如下:

dim s% (10)
dim r% ,i%
data 18 ,89,56,90,100,35,68,70,
data 86,75,66,27,35,57,60,83,-1
cls
do
read q
if q = -1 then exit do
r = int (q / 10 ) : s(r) = s(r) + 1
loop
print "score" , "number"
for i = 0 to 10
if i = 10 then
print " " ; 100 ,s(10)
else
print 10 * i ; "--";i * 10 + 9 , s(i)
end if
next i
end

我的思路是这样:

上面程序里的s(r) = s(r) + 1,如果我把它看成累计的次数,比如把s(r)设为i,那么,它就是i = i + 1,那么,指针指到18,r = 1,s(r)所对应的分数段就是10-19,s(r) = s(r) + 1, s(r) 的分数段此时为10-19 ,s(r) = s(r) + 1, 分数段为10-19,加上1就是20 - 29 ,这样,s(r)对应的分数段就是s(2), 这样的话,上面的read q 和int (q /10)就想不通了,还有如果是这样,那么指针指到-1的时候不就是退出了吗?但他还没检索完,再说,问题是统计人数,那么这哪里是统计人数的步骤......

我感觉大脑一下子转不过来,我感到能把这条线接上,但就是找不到那两个接点

希望各位能帮我下,谢谢了!!

用VB,C 语言我还知道
那没有学过了