用Fortran语言,编写一个程序,用表控格式输入数据0.2,0.3,30,分别赋值给实型变量a,b和整型变量m。有格式输出a,b和m的值,使a的值宽8列,小数占2列;b是指数型实数,宽15列,小数占3列;m的宽度是5列。
时间: 2023-12-06 22:03:49 浏览: 84
以下是Fortran语言的程序代码:
```
program format_input_output
implicit none
real a, b
integer m
! 使用表控格式输入数据
read (*, '(f8.2, e15.3, i5)') a, b, m
! 使用表控格式输出数据
write (*, '(F8.2, E15.3, I5)') a, b, m
end program format_input_output
```
程序中,`read`语句使用表控格式`(f8.2, e15.3, i5)`读取输入数据,分别赋值给实型变量`a`和`b`,以及整型变量`m`。`write`语句使用表控格式`(F8.2, E15.3, I5)`输出变量`a`,`b`和`m`的值,分别满足所述格式要求。
注意:本程序要求输入数据格式必须为`0.2`、`0.3`和`30`,且数据之间用逗号分隔。如果输入数据格式不符合要求,程序可能会出现错误。
相关问题
编马一个程序,用表控格式输入数据0.2,0.3,30,分别赋值给实型变量a,b和整型变量m (1有格式输出a,b和m的值,使a的值宽8列,小数占2列;b是指数型实数,宽15列,小数占3 列;m的宽度是5列。
以下是使用表控格式输入数据,并按照指定格式输出变量值的Fortran95程序:
```
program format_io
implicit none
integer :: m
real :: a, b
! 使用表控格式输入数据
read(*, '(f8.2, e15.3, i5)') a, b, m
! 使用表控格式输出变量值
write(*, '(1x, "a = ", f8.2, ", b = ", e15.3, ", m = ", i5)') a, b, m
end program format_io
```
在这个程序中,我们使用了表控格式来读取输入数据和输出变量值。输入格式字符串`(f8.2, e15.3, i5)`指定了三个变量的输入格式:a是实型变量,宽度为8列,小数占2列;b是指数型实数,宽度为15列,小数占3列;m是整型变量,宽度为5列。输出格式字符串`"a = ", f8.2, ", b = ", e15.3, ", m = ", i5`指定了三个变量的输出格式:a的值占8列,小数占2列;b的值占15列,小数占3列;m的值占5列。
用Fortran语言,从键盘输入实型变量a, b,如果变量a小于变量b,交换a,b的值。打印输出a,b的值。(分别使用if及case两种结构完成此题)
好的,根据您的要求,我为您编写了以下Fortran代码:
使用if结构:
```
program value_swap_if
implicit none
real :: a, b, temp
write(*, *) "请输入变量a:"
read(*, *) a
write(*, *) "请输入变量b:"
read(*, *) b
if (a < b) then
temp = a
a = b
b = temp
end if
write(*, *) "交换后的变量a和b的值分别为:", a, b
end program value_swap_if
```
使用case结构:
```
program value_swap_case
implicit none
real :: a, b, temp
write(*, *) "请输入变量a:"
read(*, *) a
write(*, *) "请输入变量b:"
read(*, *) b
select case (a < b)
case (true)
temp = a
a = b
b = temp
case (false)
! do nothing
end select
write(*, *) "交换后的变量a和b的值分别为:", a, b
end program value_swap_case
```
以上两种代码实现了相同的功能,即从键盘输入实型变量a, b,如果变量a小于变量b,交换a,b的值,最后打印输出a,b的值。如果使用if结构,则使用if语句进行判断,如果使用case结构,则使用select case语句进行判断。
阅读全文