fork download
  1. PROGRAM ex5_4
  2. IMPLICIT NONE
  3. INTEGER :: n = 0, mark, max
  4. REAL :: w = 0.0E0, v = 0.0E0, mean, sd
  5. DO n = 1, 1000
  6. IF (n==1)THEN
  7. max=mark
  8. ELSE IF(mark>max)THEN
  9. max=mark
  10. END IF
  11. PRINT *, '点数(整数,終了は負の数)は?'
  12. READ *, mark
  13. IF ( mark < 0 ) EXIT ! これでループを抜ける
  14. w = w + mark
  15. v = v + mark ** 2
  16. END DO
  17. n = n - 1
  18. IF ( n > 0 ) THEN
  19. mean = w / n
  20. sd = SQRT( v / n - mean ** 2 )
  21. PRINT '( 1X, "平均点 = ", F5.1 )', mean
  22. PRINT '( 1X, "標準偏差 = ", F5.1 )', sd
  23. END IF
  24. PRINT '( 1X, "生徒総数 = ", I5 )', n
  25. PRINT '( 1x,"最高点=", I5)', max
  26. END PROGRAM ex5_4
Success #stdin #stdout 0s 5316KB
stdin
86
92
92
68
92
100
72
51
61
36
50
100
70
-99
stdout
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 点数(整数,終了は負の数)は?
 平均点   =  74.6
 標準偏差 =  20.1
 生徒総数 =    13
 最高点=  100