用fortranc语言编程计算器1 1/(1*2) 1/(2*3) 1/(3*4) 1/{n*(n

Fortran使用第一章1,使用,第一,第一章
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
Fortran使用第一章
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口用C语言编写一个程序,利用递推法计算下列公式y=1+1/1*2+1/2*3+1/3*4+…要求精确到10^-6。(要能在TC3.0运行的程序,用最基本的C语言编程就行)
用C语言编写一个程序,利用递推法计算下列公式y=1+1/1*2+1/2*3+1/3*4+…要求精确到10^-6。(要能在TC3.0运行的程序,用最基本的C语言编程就行)
#include &stdio.h&double fact(int x, int y) { return 1.0/(x * y);}int main() { double sum = 0.0, int n = 1, while (1) {
f = fact(n, m);
if (f & 0.000001) {
++n; } printf("n=%d, %lf", n, sum); return 0;}
的感言:真心佩服你,谢谢! 相关知识
相关知识等待您来回答
编程领域专家
& &SOGOU - 京ICP证050897号查看: 2848|回复: 0
针对Abaqus,我的Fortran90学习笔记,从C++过度到Fortran
主题帖子积分
学徒工, 积分 1, 距离下一级还需 99 积分
学徒工, 积分 1, 距离下一级还需 99 积分
从C++到FORTRAN不同的地方:
1.Fortran 语言中使用大写字母,若出现小写字母,作为相应的大写字母处理。空格字符约使用往往是为了使程序清晰。程序行的第1-6列写法有严格规定,称为固定格式的书写方法。FORTRAN 90冲破了这一点,可以自由书写格式。
2.常量:整、实、双精度、复、逻辑、字面。如:整(-2^15至2^15-1,即-3)、实(24.0,100.,145.E-2,1E+2)、双精度(O.97D-4)、复(复数4.3 + 2.4i 写为(4.3,2.4)、逻辑(.TRUE.,.FALSE.)、字面(nHxxxxxxxx)
DIMENSION用法:
& && &DIMENSION A(5,5),X(10)
& && &DOUBLE PRECISION A,X
& && &INTEGER A,B
& && &INTEGER, DIMENSION(10)::C,D
& && &INTEGER, DIMENSION(5,6)::E,F
含维说明符的DIMENSION
& && &DIMENSION A(-6:7) A是一个一维数组,含14个元素
字符常量,即字符串。不同于字面型常量。如 'I DO NOT KNOW'(长度13) 或 'I DON''T KNOW' (长度12,撇号需重复,但仅算一个长度)
3.指数形式,E之后不允许有小数点。E变D,实型变双精度型。
4.变量:变量名只在本程序单元中有意义。I-N规则(IJKLMN字母开头,无需定义,默认为整形变量)
5.变量类型:整INTEGER,实REAL,双精度DOUBLE PRECISION,复COMPLEX,双精度复DOUBLE PRECISION COMPLEX,逻辑LOGICAL。字面型数据没有类型语句说明。
6.乘方运算符:**
7.逻辑型常量.TRUE. .FALSE.
&&关系运算符.GT. .GE. .LT. .LE. .EQ. .NE.
&&逻辑运算符.AND. .OR. .NOT.
8.始行的第6列必须为空格或0。始行不是注解行。其第1至5列可含有语句标号或全为空格。
9.续行的第5列写除空格符和0以外的其它字符,如数字、字母等字符。FortranII与IV一个语句最多可以有9个续行,Fortran77可以有19个续行。续行的第1至5列只含空格字符。
10.注解行。第1列上写了字母C或*,注解内容在第2至72列。也可整行位空格字符,也成为注解行。
11.有的语句要由其它语句来引用的,要被引用的语句就要给予语句标号。在语句始行的第1至5列的任何地方写一个1到5个数字的序列(其中至少有一个数字不是零)称为语句标号。在一个程序单元内不得定义相同的语句棕号,语句标号只在本程序单元内有意义。在区分语句标号时,空格和前导零都是无意义的。例如:10,010为同一语句
12.语句函数:函数名(虚元1,虚元2,虚元3,...)=表达式。如:FUNCTIONA(X,Y,Z)=X+Y+Z。引用:FAX=A+B**3-FUN(3.,7.2,0.4)
13.外部函数:类型 FUNCTION 函数名(虚元1,虚元2,虚元3,...) 函数定义 RETURN END。类型可为INTEGER REAL LOGICAL。函数体单元内不可出现SUBROUTINE PROGRAM等语句。
14.子程序及其引用:SUBROUTINE 子程序名(虚元1,虚元2,虚元3,...) 子程序定义 RETURN END。引用:CALL 子程序名。
15.可执行语句:赋值语句;语句标号赋值(ASSIGN)语句;无条件GOTO,赋值GOTO,计算GOTO;算数IF,逻辑IF;块IF,ELSE IF,ELSE和END IF;CONTINUE;STOP和PAUSE;DO;READ和WRITE;REWIND,BACKSPACE,ENDFILE,OPEN;CALL和RETURN;END;
16.非执行语句:PROGRAM,FUNCTION,SUBROUTINE;说明语句;DATA;FORMAT;语句函数。
一、说明语句
说明语句:DIMENSION,COMMON,EQUIVALENCE,IMPLICIT,EXTERNAL,INTRINSIC,SAVE;INTEGER,REAL,COMPLEX,LOGICAL,DOUBLE PRECISION,CHARACTER;
数组定义:REAL I(15,20);
字符变量:CHARACTER 变量名*长度;CHARACTER *长度 变量名。
17.IMPLICIT语句:用于 改变/确认 预先隐含的整型或实型。因为显式类型语句是非常不方便的,必须把每个变量都列出来,必须弄清楚没有漏掉任何一个需加以说明的变量和数组等。
& &如:IMPLICIT LOGICAL(L), INTEGER(A-C), REAL(X-Z)。
18.DIMENSION语句:DIMENSION A(10,20,30), B(70,35), C(10)。
19.下标表达式:变量;常量;变量+/-常量;常量*变量;常量*变量+/-常量。例如:I-2.0 I*3 +3*I -K I(2)是错的。
二、赋值语句
四种赋值语句:算数、逻辑、语句标号、字符
三、控制语句
无条件GOTO,赋值GOTO,计算GOTO;算数IF,逻辑IF;块IF,ELSE IF,ELSE和END IF;DO;CONTINUE;STOP和PAUSE;CALL和RETURN;END。
---------------计算GOTO---------------
GOTO (可执行语句的语句标号,...) 整型变量名
计算1! 2! 3! 4! 5! 存储结果于J1 J2 J3 J4 J5
& & 5 I=I+1
& && &GOTO (10,20,30,40,50),I
& &10 J1=1
& && &GOTO 5
& &20 J2=1*2
& && &GOTO 5
& &30 J3=1*2*3
& && &GOTO 5
& &40 J4=1*2*3*4
& && &GOTO 5
& &50 J5=1*2*3*4*5
---------------赋值GOTO与ASSIGN---------------
ASSIGN 101 TO K
GOTO K,(10,20,101,204)
GOTO (10,20,101,204),K
注意,ASSIGN语句中的K不可作为一般变量参与运算。
---------------算数IF语句---------------
lF (e) Sl,S2,S3
执行算术IF语句首先求表达式e的值,然后判e,若e&0执行S1,若e=0则S2,若e&0则S3。
---------------逻辑IF语句---------------
e为逻辑表达式,st为一个可执行语句,但不能是DO语句、块IF语句、ELSE IF语句、ELSE IF语句、END IF语句、END语句或另一个逻辑IF语句。
若e为真,则执行语句st,若e为假,则不执行语句st,而继续顺序执行。
& && &IF () THEN
& && &&&...
& && &ELSE
& && &&&IF () THEN
& && && & ...
& && && & DO 10 I=1,N
& && && && &...
& &10& &&&CONTINUE
& && && & ...
& && &&&END IF
& && &&&...
& && &&&IF () THEN
& && && & DO 20 J=1,N
& && && && &...
& &20& &&&CONTINUE
& && &&&END IF
& && &END IF
& && &RETURN
此结构可替代C++中do while结构
& && &INTEGER COUNT
& && &COUNT=COUNT+1
& && &IF(COUNT.LT.10)GOTO 170
& && &IF(A.EQ.0.0) STOP
---------------DO语句---------------
DO S[,]i=e1,e2,[,e3]
S为可执行语句标号为终结语句,i为整型变量名,称为DO变量。e1初值参数,e2终值参数,e3增值参数(不出现则为1),均为整型常数或整型变量。
& && &DO 10 I=K,N
& && &DO 10 J=K,N
& && &&&IF () THEN
& && && & ...
& && &&&END IF
& &10 CONTINUE
---------------CONTINUE语句---------------
在某些情况下,DO循环用其它语句作终结语句不合适时,则用CONTINUE语句作为终结语句,以便使DO循环可做增值处理。另外,也可以不管DO循环有无终结语句,都统一格式以CONTINUE语句作为终结语句。
四、简单输入/输出语句:FORMAT、READ、WRITE
FORMAT语句是非执行语句,其作用是确定数据依照何种格式进行输入/输出。该句必带标号,其全部编辑信息都要用括号括起来。
&&FORMAT([flist])
flist是一个编辑描述符的表。
编辑描述符:Iw Fw.d Ew.d。I整型,F小数型,E指数型。w字段宽度,d小数部分宽度。
(正负符号,小数点,指数符,整数部分,小数部分,指数部分,指数部分正负符号,均计入字段宽度)
若需要连续几个同样的编辑描述符,则可写为:rIw rFw.d rEw.d。r为重复因子。
READ语句:READ(u,f)l。u为输入设备的设备号或通道号;f为同一程序单元内某格式语句的语句标号;l为输入变量名表。
& && &READ(4,10)I,X,J
& &10 FORMAT(I5,F14.5,I4)
& && &READ(4,20)I,J,X
& &20 FORMAT(2I5,F14.5)
WRITE语句:WRITE(u,f)l。u为输入设备的设备号或通道号;f为同一程序单元内某格式语句的语句标号;l为输入变量名表。
& && &WRITE(5,30)X,Y,Z
& &30 FORMAT(1X,3F14.5)
& && &WRITE(5,30)X,Y,Z
& &30 FORMAT(1X,F12.5,F14.5,F12.5)
C& &&&1X为打印机走纸控制符。
& && &WRITE(5,30)X,Y,Z
& &30 FORMAT(1X,2HX=,F14.5,2HY=,F14.5,2HZ=,F14.5)
C& &&&在输出X值之前,先输出X=
五、过程和过程引用 EXTERNAL、INTRINSIC、RETURN、ENTRY
EXTERNAL proc[,proc] 每个proc都是外部过程名或虚拟过程名
RETURN 语句使控制返回到正在引用它所在的程序单元去
ENTRY语句为函数辅程序或子程序辅程序提供多个入口点,这样我们在引用辅程序时可以只引用其一部分而非全部。
第四节 FORTRAN程序
一、主程序
主程序是没有FUNCTION语句或SUBROUTINE语句作为其第一个语句的程序单元,它可以有一个PROGRAM语句作为其第一个语句,在很多编译程序中也可以没有。
在一个可执行程序中必须有且仅有一个主程序。一个可执行程序的执行是从执行主程序的第一个可执行语句开始的。
& && &PROGRAM pgm
主程序中不得包括FUNCTION、SUBROUTINE、RETURN语句。
& && &PROGRAM ABC
& && &SUBROUTINE A1
& && &SUBROUTINE A2
二、辅程序
以FUNCTION语句或SUBROUTINE语句作为第一个语句的程序单元。FUNCTION语句的辅程序称作函数辅程序;SUBROUTINE语句的辅程序成为子程序辅程序。二者统称过程辅程序。
虚元=C++中形参;实元=C++中实参。
虚元可分为变量、数组、虚拟过程几类。
1.程序单元中的语句顺序
-------------------------------------------------
|& && &&&|PROGRAM,FUNCTION,SUBROUTINE,BLOCK DATA|
|& && &&&|--------------------------------------|
|& && &&&| FORMAT | PARAMETER |&&IMPLICIT语句& &|
|& && &&&|& && &&&|& && && &&&|-----------------|
| 注解行 |& &和& &|& &语句& & |&&其他说明语句& &|
|& && &&&|& && &&&|-----------|-----------------|
|& && &&&| ENTRY&&|& &DATA& & |&&语句函数语句& &|
|& && &&&|& && &&&|& && && &&&|-----------------|
|& && &&&|&&语句&&|& &语句& & |&&可执行语句& &&&|
|-----------------------------------------------|
|& && && && && && &&&END语句& && && && && && &&&|
-------------------------------------------------
2.DATA语句适用于给变量、数组和数组元素提供初值。非执行语句。
DATA K/3/,A/2.2/,B/3.45/,C/-1.24/
DATA K,A,B,C/3,2.2,3.45,-1.24/
DATA A(1,1),A(2,1),A(1,2),A(2,2)/1.0,1.5,2.0,2.5/
DATA A/1.0,1.5,2.0,2.5/
主题帖子积分
学徒工, 积分 25, 距离下一级还需 75 积分
学徒工, 积分 25, 距离下一级还需 75 积分
用附件的形式更好点吧
Powered by用C语言编程计算数学公式s=1/1*2+1/2*3+1/3*4+.......1/n*(n+1)_百度知道
用C语言编程计算数学公式s=1/1*2+1/2*3+1/3*4+.......1/n*(n+1)
..用C语言编程计算数学公式s=1/3*4+;1*2+1&#47..;2*3+1&#47.1&#47.
我有更好的答案
;#include &);i&n&; scanf(& printf(&cal for(int i=1;%d&quot:&quot,f(n)); printf(&pause& } return s.h&quot.;i++) {
s+=(float)1&#47#include &quot, _TCHAR* argv[]){(i*(i+1));I);#include &lt.0;);=n.\ return 0; system(&n&quot,&n):%f&#92.h&}int _tmain(float f(int n){ float s=0; printf(&.h&gt
#include &stdio.h&void main(){
float s=0.0;
scanf(&%d&, &n);
for (i = 1; i &= i ++)
s += 1.0/n/(n+1);
printf(&%f\n&, s);}
其他类似问题
为您推荐:
c语言编程的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 c语言编程计算平均值 的文章

 

随机推荐