思路分析:第一題採用塊if語句的巢狀,採用如下格式。第二題採用select case…case..end selcet的形式進行選擇,先進行判斷是否為閏年,再舉出每個月的具體時間,進行累加。
if (…) then
if(…) then
if(…) then
… else if(…) then
… else
… end if
end if
else或者是else if (…) then
if(…) then
… else
… end if
end if
program exam1
implicit none
real n,s
print *,』請輸入』
read *,n
print *,』納稅為 元』
if(n<3500) then
s=0
print 100,s
else if(n<5000) then
s=(n-3500)*0.03
print 100,s
else if(n<8000) then
s=105+(n-5000)*0.1
print 100,s
else if(n<12500) then
s=555+(n-8000)*0.2
print 100,s
else if(n<38500) then
s=1005+(n-12500)*0.25
print 100,s
else if(n<58500) then
s=2775+(n-38500)*0.3
print 100,s
else if(n<83500) then
s=5505+(n-58500)*0.35
print 100,s
else
s=13505+(n-83500)*0.45
print 100,s
100 format (1f10.3)
endif
end program exam1
program shiyan2
implicit none
integer y,m,d,i,j,days
print*,』請輸入年,月,日』
read*,y,m,d
days=d
if (mod(y,100)==0) then
if (mod(y,400)==0) then
j=29
end if
else if (mod(y,4)==0) then
j=29
else
j=28
end if
do i=1,m-1,1
select case (i)
case (11)
days=days+30
case (10)
days=days+31
case (9)
days=days+30
case (8)
days=days+31
case (7)
days=days+31
case (6)
days=days+30
case (5)
days=days+31
case (4)
days=days+30
case (3)
days=days+31
case (2)
days=days+j
case (1)
days=days+31
end select
end do
print*,days
end program shiyan2
program erfenfa
implicit none
real x,x1,x2
real bisect,func
do print*,』輸入x1,x2』
read*,x1,x2
if(func(x1)*func(x2)<0.0) exit
print*,』補正卻的輸入』
enddo
x=bisect(x1,x2)
print 10,』x=』,x
10 format(a,f15.7)
end
real function bisect(x1,x2)
real x1,x2,x,f1,f2,fx
x=(x1+x2)/2.0
fx=func(x)
do while (abs(fx)>1e-6)
f1=func(x1)
if(f1*fx<0) then
x2=x
else
x1=x
end if
x=(x1+x2)/2.0
fx=func(x)
enddo
bisect=x
end
function func(x)
real x
func=x**3-2*x-5
end
program gongyueshu
implicit none
integer m,n,i,r,p
print*,』輸入m,n』
read*,m,n
if(m<=n) then
i=m
m=n
n=i
end if
p=m*n
do while(1)
r=mod(m,n)
if(r==0) exit
m=n
n=r
end do
p=p/(n*1.0)
print*,」公倍數,公約數」,p,n
end program gongyueshu輾轉相除法 相減法 窮舉法 三種求fortran最大公約數的方法
4.最小公倍數=兩整數的乘積÷最大公約數 ,本例利用輾轉相除法來求公約數
有兩整數a和b:
① a%b得餘數c
② 若c=0,則b即為兩數的最大公約數
③ 若c≠0,則a=b,b=c,再回去執行①
例如求27和15的最大公約數過程為:
27÷15 餘1215÷12餘312÷3餘0因此,3即為最大公約數,27*15/3即為最小公倍數
3.第三題採用了呼叫函式的方法,
C 上機實驗
檔名稱 exe1 作 者 張宇恆 完成日期 2016 年 3 月 10 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 兩個整數a,b 問題描述 求a,b兩數的和及差 程式輸出 a b a b 問題分析 略 演算法設計 略 心得體會 第一次用c 程式設計,中間有些小障礙,但還是克服了...
上機實驗五
data3 1.txt中共包含字元數 d 函式宣告 void input stu s,int n void output stu s,int n void process stu s,int n int main 從文字檔案examinee.txt讀入考生資訊 准考證號,姓名,客觀題得分,操作題得分...
C 上機實驗1 1
一 問題及 檔名稱 qwe.cpp 作 者 柳青雨 完成日期 2016年 03 月 10 日 版 本 號 v1.0 對任務及求解方法的描述部分 求兩數和差 輸入描述 兩個整數 問題描述 求兩數和差 程式輸出 和差 問題分析 略 演算法設計 略 include using namespace std ...