当前位置:文档之家› FORTRAN95程序设计实验

FORTRAN95程序设计实验

print*,'请输入收入(以万为单位):'
read*,income
select case(income)
case(0:1000)
income_rate=income*rate_1
print*,'缴纳的税为:',income_rate
case(1001:2000)
income_rate=income*rate_2
Fortran95
程序计实验
班级:核工11
姓名:薛院院
学号:2110302026
实验一
一.实验内容
一个边长为8.5m的边形草地。计算八边形草地的面积并输出。
二.问题分析(流程图)
三.程序
!核工程11
!薛院院
!2013.03.11
!计算8边形的面积
PROGRAM COLUMATE
REAL(4) A !定义边长
实验四
一.实验内容
计算 + - ……+ ,其中n满足1+
二.问题分析(流程图)
三.程序
!班级:核工11
!姓名:薛院院
!日期:4.8
!计算级数之和
program main
real::sum=1,term,sign=1,s=0
integer::a,i,n=0
print*,'请输入一个较大的数(如10000)'
read*,n
print'(a,i2,a)','请输入',n,'个整数:'
read*,(a(i),i=1,n)
end subroutine
!数据输出子程序
subroutine output(a,n)
integer a(n),n
print*,a
end subroutine
!整数排序子程序
subroutine sort(a,n)
integer a(n),n
integer :: i, j, m, t
do i =1,n
m = i
do j = i+1, n
if (a(j) < a(m)) then
m = j
end if
end do
if (i /= m) then
t = a(i)
a(i) = a(m)
a(m) = t
end if
enddo
do i=1,n
read*,number(i),english(i),math(i),physics(i)
averages(i)=(english(i)+math(i)+physics(i))/3.0
sum1=sum1+english(i)
sum2=sum2+math(i)
sum3=sum3+physics(i)
enddo
i=i+1
enddo
end subroutine
!统计奇函数
function odd(a,n)
integer a(n),n,odd,oddl
oddl=0
do i=1,n
if(mod(a(i),2)==1)oddl=oddl+1
enddo
odd=oddl
endfunction
!统计偶函数
function even(a,n)
integer a(max),n,n1,n2
call input(a,n)
call sort(a,n)
n1=odd(a,n)
n2=even(a,n)
print*,'这批整数'
call output(a,n)
print*,'这批整数的奇数个数为:',n1
print*,'这批整数的偶数个数为:',n2
call dele(a,n)
endif
enddo
print*,'计算的该数值为:x=',x(j)
end
四.实验结果
实验八
一.实验内容
对一组数字进行处理
二.问题分析(流程图)
三.程序
!班级:核工11
!姓名:薛院院
!学号:2110302026
!日期:2013.4.7
!主程序
program main
parameter (max=50)
end subroutine
subroutine dele(a,n)
integer a(n),n,i,j
i=1
do while(i<n)
j=i+1
do while(j<=n)
if (a(i)==a(j)) then
do k=j+1,n
a(k-1)=a(k)
enddo
n=n-1
else
j=j+1
endif
write(*,100)'数学',n2,p2*100
write(*,100)'物理',n3,p3*100
write(*,100)'三门课',nn,pp*100
100 format(1x,'高于',a,'平均成绩的学生人数有',i2,'人,占总人数比例',f8.2,'%')
end
四.实验结果
实验六
一.实验内容
REAL(8) B,P
INTEGER(1) NUMBER !定义边数
REAL(8) AREAL !定义面积
PRINT*,'请输入多边形的边数'
READ*,NUMBER
PRINT*,'请输入多边形的边长'
READ*,A
B=A/2/sin(3.14/NUMBER)
P=A/2+B
AREAL=SQRT(P*(P-A)*(P-B)**2)
PRINT*,'该多边形的面积为:',AREAL
END
!输入边数8;输入边长8.5
!输出结果:43.631297090078
四.实验结果
实验二
一.实验内容
计算还清贷款的月算
二.问题分析
三.程序
!核工程11
!薛院院
!2013.03.11
!计算还清贷款的月数
!PROGRAM CALUCATE
REAL P,D,R,M
二.问题分析(流程图)
三.程序
!核工11
!薛院院
!2110302026
!计算应该缴纳的税
program calucate_money
integer income
real::income_rate
real::rate_1=0.03,rate_2=0.05,rate_3=0.07,rate_4=0.10,rate_5=0.14,rate_6=0.20
三.程序
!班级:核工11
!姓名:薛院院
!学号:2110302026
!日期:4.8
program main
parameter(max=1000)
real x(max)
i=1
x(1)=1.5
do i=1,1000
j=i+1
if(abs(x(j)-x(i))>10e-7) then
x(j)=x(i)-f(x(i))/f1(x(i))
real::sum1=0,sum2=0,sum3=0
integer(1)::n,n1=0,n2=0,n3=0,nn=0
real::p1,p2,p3,pp
print*,'请输入学生人数'
read*,n
print*,'请输入',n,'名学生的学号、英语、数学、物理成绩'
print*,'数据之间用空格间隔。学号为长度为5的字符串,用引号括住'
enddo
english_ave=sum1*1.0/n
math_ave=sum2*1.0/n
physics_ave=sum3*1.0/n
average=(english_ave+math_ave+physics_ave)/3.0
do i=1,n
if(english(i)>english_ave)n1=n1+1
read*,a
do while(s<=a)
n=n+1
s=s+n**2
enddo
do i=1,n
sign=-1*sign
term=sign/i
sum=sum-term
enddo
print*,sum
end
四.实验结果
实验五
一.实验内容
计算学生的平均成绩,每门课的平均成绩,三门课的平均成绩以及统计高于每门课的成绩和三门平均成绩的学生人数和占总人数的比例
do i=1,n
read*,x(i)
enddo
print 100,x
do i=1,n
t=x(1)
do j=2,n
x(j-1)=x(j)
enddo
x(n)=t
print 100,x
enddo
100 format(4i2)
end
四.实验结果
实验七
一.实验内容
用牛顿迭代法求解方程 在x=1.5附近的值
二.问题分析(流程图)
if(math(i)>math_ave)n2=n2+1
if(physics(i)>physics_ave)n3=n3+1
if(averages(i)>average)nn=nn+1
相关主题