西安交大Fortran上机作业

发布 2023-05-16 08:48:28 阅读 4959

工程分析程序设计上机作业(三)

结构化编程——循环。

上机目的:练习使用选择结构编制程序。

1、 编写一个程序,判断一个整数是否素数。

program main

implicit none

integer x,y,n,k

k=0print*,"请输入一个整数x"

read*,x

do n=1,x

y=mod(x,n)

if(y==0)then

k=k+1end if

end do

if(k==2)then

print*,"x是素数"

elseprint*,"x不是素数"

end if

end2、 利用如下公式求π的近似值,直到最后1项的绝对值小于10-6:

program main

implicit none

real k

real ::i=0.0

real ::n=1.0

real ,parameter ::m=0.0000001

real p

do while(1.0/(2.0*n-1.0)>=m)

k=(-1.0)**n-1.0)/(2.0*n-1.0)

n=n+1.0

i=i+kend do

p=4*iprint*,"pi=",p

end3、 输入一个自然数,进行因子分解并输出结果,例如24=1×2×2×2×3。(输出格式不限)。

program main

implicit none

integer a,b,n,i

integer ::j=1

print*,"请输入一个自然数n:"

read*,n

do while(j<=n)

a=mod(n,j)

if(a==0)then

print*,j

n=n/jj=1

j=j+1else

j=j+1end if

end do

end4、 写一个程序,让用户输入一个内含空格符的字符串,然后使用循环把字符串中的空格符消除之后再重新输出。例如:

happy new year (输入这个包括空格的字符串)

happynewyear (最后要输出这个没有任何空格的字符串)

提示:1) len_trim() 函数可返回一个字符串的长度;

2) string(i:i) 表示字符串string中的第i个字符。

program main

implicit none

character(50) string

integer i,a

print*,"请输入字符串:"

read(*,a50)")string

i=1a=len_trim(string)

do while (i<=a)

if (string(i:i)==then

string(i:a-1)=string(i+1:a)

i=i-1

end if

i=i+1end do

write(*,a50)")string

end5、 计算1×1×1 + 1×1×2 +…1×1×6++ 1×2×1+……1×5×6+……4×5×6 =

program main

implicit none

integer a,n,i,j,k

a=0do k=1,6

do j=1,5

do i=1,4

n=i*j*k

a=a+nend do

end do

end do

print*,a

end6、 利用如下公式求e的近似值,直到最后1项的绝对值小于10-8:

program main

implicit none

real(8) :a=1.0

real(8) :n=1.0

real(8) :b=1.0

do while(1.0/a>=0.00000001)

a=a*nn=n+1

b=b+1.0/a

end do

print*,"e=",b

end7、 打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一水仙花数,因为153=13+53+33。

program seven

implicit none

integer a,b,c,d,e,f,g,h

do a=100,999

b=int(a/100.0)

c=a-b*100

d=int(c/10.0)

e=a-b*100-d*10

f=b**3+d**3+e**3

if(f==a)then

print*,a

end if

end do

end选作:

8、 利用第1题编程结果,对1000以内的所有偶数验证哥德**猜想。即:对于大于2的任一偶数,先分解为两个奇数之和,然后验证第一个奇数是否素数,如果是,再验证第二个奇数是否素数,如果两个奇数都是素数,则输出结果。

(要求给出所有把偶数分解成两个素数之和的等式)。并统计,每个偶数可以分解的等式个数(两个素数互换位置的不算一个独立的结果),研究随着偶数增大,分解的等式个数的变化规律。

西安交大Fortran上机作业

工程分析程序设计上机作业 七 上机目的 练习c语言的书写 循环和判断结构。1.编写程序实现摄氏度和华氏度的相互转换 include main float c,f printf 请输入摄氏度 scanf f c f c 9 5.0 32 printf 华氏度为 f f 2.打印出6行杨辉三角形如下图 ...

西安交大经济数学建模2019上机作业

大作业要求。1.三人为一组,做完后递交书面作业,在封面上写清参加人的姓名,班级,学号。2.大作业内容包含 问题分析 建立模型 求解及运算程序 运算结果或图表 结论。1 某厂销售部门为了找出商品销量与广告费用之间的关系,通过市场调查收集了过去30个销售周期的销量及广告费用的数据,如表。根据这些数据至少...

西安交大随机信号分析大作业

随机信号分析。学院班级 姓名学号 随机信号分析大作业。利用matlab产生一个具有零均值 单位方差的的高斯白噪声随机序列x n 并通过一脉冲响应为。的线性滤波器。1 产生一个具有零均值 单位方差的的高斯白噪声随机序列x n 检验其一维概率密度函数是否与理论相符。2 绘出输入输出信号的均值 方差 自相...