Fortran程式設計 n!
program main
implicit none
character(len=10)::str !the longest string in the reading file-ten chars
integer(4)::i,a,loc,err=0,
real(16)::num=1q0
print*,'Please write a number<1754 in the file FORTRAN_File-n!.in'
print*,'negetive number and the decimal are both available,but you will receive an awarning.'
open(300,file='FORTRAN_File-n!.in.txt',status='old',action='read',form='formatted')
open(400,file='FORTRAN_File-n!.out.txt'.status='new',action='write',form='formatted')
read(300,*)str
str=adjustl(str)
str=trim(str) !delete the blank
a=len(str)
do i=1,a
if(str(i)<'0'.and.str(i)>9.and.str(i)/='+'.and.str(i)/='-'.and.str(i)/='.') err=1 !error type 1
enddo
loc=index(str,'+')
if(loc>1) err=1 !error type 1
loc=index(str,'-')
if(loc>1) err=1 !error type 1
if(str=='.') err=1 !error type 1
if(err/=1) then
loc=index(str,'.')
if(loc/=0) err=3 !error type 3
str(loc)=' '
loc=index(str,'.')
if(loc>1) err=1 !error type 1
endif
if(str(1)=='+'.and.(str(2)>='1'.and.str(2)<='9')) then !transfer +xx to xx
str(1)=' '
str=adjustl(str)
str=trim(str)
endif
a=len(str)
if(str=='-') err=2 !error type 2
if(num==0) err=5 !not wrong,error type 5
if(err==0) then
write(str,*)num !start compute n!
if(num>1754) err=4 !error type 4
n=int(num)
do i=n,1,-1
num=num*i
enddo
endif
select case(err)
case(1)
write(400,*)'error:the input is not a number,please modify your input'
case(2)
write(400,*)'warning:the input is a negetive number,please modify your input'
case(3)
write(400,*)'warning:the input is a decimal,please modify your input'
case(4)
write(400,*)'warning:the input is too large,please enter a number lower than 1754'
case(5)
write(400,*)'str=0 0!=1'
case(0)
write(400,'(A,2x,A,2x,I4,2x,A,2x,f43.0)')'str=',str,n,'!=',num
end program main
相關文章
- 【混合程式設計】C/C++呼叫Fortran的DLL程式設計C++
- 加拿大程式設計師趣聞系列 3/N : 生活篇程式設計師
- 3n+1問題的考察及python程式設計Python程式設計
- Linux系統程式設計 - 07. 迴圈建立N個子程式分析Linux程式設計
- fortran continue的用法
- Stupid && 祖傳Fortran程式碼救贖之路(編譯Dll)編譯
- Java 網路程式設計(TCP程式設計 和 UDP程式設計)Java程式設計TCPUDP
- 程式設計思想 面向切面程式設計程式設計
- Python為何在科學計算領域打敗Fortran? - cerfacsPython
- 在 macOS 中執行 FortranMac
- 【go網路程式設計】-HTTP程式設計Go程式設計HTTP
- 程式語言設計,程式設計哲學程式設計
- 程式設計小記-程式設計規範程式設計
- 從程式設計到養生程式設計程式設計
- 程式設計模式-表驅動程式設計程式設計設計模式
- [靈性程式設計]這想要那也想要的需求解決,2^ n次方列舉法程式設計
- 程式設計師何苦為難程式設計師?程式設計師
- 【程式設計素質】程式設計思想總結程式設計
- 程式設計和網路程式設計入門程式設計
- 十、GO程式設計模式 : 泛型程式設計Go程式設計設計模式泛型
- JAVA網路程式設計(2)TCP程式設計Java程式設計TCP
- 一個不錯的Fortran教程
- 美女程式設計師觀點:程式設計師最重要的非程式設計技巧程式設計師
- win10系統fortran怎麼安裝_win10系統fortran安裝教程Win10
- 玩轉 PHP 網路程式設計全套之多程式程式設計PHP程式設計
- 【1024程式設計師節】程式設計師,你學程式設計的初衷是什麼?程式設計師
- 程式設計思想之冪等性 | 程式設計之道程式設計
- Windows程式設計系列:圖形程式設計基礎Windows程式設計
- Java 網路程式設計 —— 非阻塞式程式設計Java程式設計
- 程式設計師如何獲取新程式設計技能程式設計師
- 幽默:程式設計師成功完成程式設計的眼睛程式設計師
- Python程式設計:探索有趣的程式碼設計模式Python程式設計設計模式
- Java程式設計師學習Rust程式設計 - infoworldJava程式設計師Rust
- 五種Java程式設計高效程式設計方法 - BablaJava程式設計
- 【網路程式設計】阻塞IO程式設計的坑程式設計
- 計算2的N次冪n 可輸入,n為自然數
- 無程式碼程式設計程式設計
- [python] 多程式程式設計Python程式設計