while True:

問題4

5 桁以下の正の整数が 100 個あるとする.これらをキーボードから入力するとき,0, 1, …, 9のキーがおのおの何回押されたかを調べるプログラムを作れ.

難易度 ★★☆☆☆

基本的な問題です。それぞれの桁の数字を見る必要があるので、一度数字から文字にして、数え上げます。IFですべての数字を場合分けしてもよいですが、ここでは配列を用いて簡潔に記します。
program question4
	implicit none
	integer :: i, j, k, n
	character(5) :: val
	integer, dimension(10) :: counter = 0

	do i = 1, 3
		print *, "Input number: "
		read *, val
		do j = 1, len(val)
			! 文字列から数値へ変換
			read (val(j:j), *) n
			do k = 0, 9
				if (n == k) then
					counter(k + 1) = counter(k + 1) + 1
				end if
			end do
		end do
	end do

	do i = 0, 9
		print *, i, counter(i + 1)
	end do
end program question4
ページのトップへ戻る