- 计算工资问题:每小时工资为 RATE,如果工作超过 40 小时,加班部分工资是正常时间工资的 1.5 倍。通过此案例可以练习基本的输入输出、条件判断和数学运算。
- program payroll real :: rate, hours, pay read (*,*) rate, hours if (hours > 40) then pay = 40 * rate + (hours - 40) * 1.5 * rate else pay = hours * rate end if print *, "rate = ", rate print *, "hours = ", hours print *, "pay = ", pay end program payroll
- 学生成绩分级:根据输入的成绩,将其分为 A(大于等于 80 分)、B(大于等于 60 分小于 80 分)、C(小于 60 分)等级。能锻炼条件判断和嵌套使用。
- program grades integer :: grade read *, grade if (grade >= 80) then print *, grade, " = A" else if (grade < 60) then print *, grade, " = C" else print *, grade, " = B" end if end program grades
- 三个数排序:输入三个数,将它们按从小到大的顺序输出。有助于理解数据的比较和交换操作
- program maxmin real :: a, b, c, t read *, a, b, c if (a > b) then t = a a = b b = t end if if (b > c) then t = b b = c c = t end if if (a > b) then t = a a = b b = t end if print *, a, b, c end program maxmin
- 计算阶乘:计算一个数的阶乘,例如求 5! 。可以熟悉循环结构的使用。
- program factorial integer :: n, fact = 1 read *, n do i = 1, n fact = fact * i end do print *, n, "! = ", fact end program factorial
- 打印九九乘法表:使用嵌套循环输出九九乘法表,巩固循环和输出格式的掌握。
- program multiplication_table
do i = 1, 9
do j = 1, i
print *, i, " * ", j, " = ", i * j
end do
print *
end do
end program multiplication_table
- 判断闰年:根据输入的年份,判断是否为闰年。涉及到条件判断和逻辑运算。
- program leap_year integer :: year read *, year if (mod(year, 4) == 0.and. (mod(year, 100) /= 0.or. mod(year, 400) == 0)) then print *, year, " is a leap year." else print *, year, " is not a leap year." end if end program leap_year
- 数组求和与平均值:定义一个数组,计算数组元素的总和以及平均值,加强对数组操作和基本运算的运用。
- program array_stats
integer, dimension(10) :: arr
integer :: i, sum = 0
real :: average
do i = 1, 10
read *, arr(i)
sum = sum + arr(i)
end do
average = real(sum) / 10.0
print *, "Sum of array elements: ", sum
print *, "Average of array elements: ", average
end program array_stats
- 简单的数据统计:输入一组数据,计算其中的*值、最小值和数据个数。锻炼数据处理和条件判断能力。
- program data_stats
integer :: num, max_num, min_num, count = 0
read *, num
max_num = num
min_num = num
do while (num /= -1)
count = count + 1
if (num > max_num) then
max_num = num
end if
if (num < min_num) then
min_num = num
end if
read *, num
end do
print *, "Maximum number: ", max_num
print *, "Minimum number: ", min_num
print *, "Number of data: ", count
end program data_stats