中国海洋大学Fortran程序考试典型题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、找出100-150之间和400-450之间能被9整除的数
2、找出100-999之间的回文数
3、找出水仙花数
4、输出“*”图形
5、输入n个数,找出大于平均值的数和最小数
6、把一个数值型数组的相同数删除到只剩一个
7、形成一个5*5矩阵,对角线元素为“i”,其余为“j”program juzhen
implicit none
integer I,J
integer,parameter::size=5
integer::a(size,size)
forall(I=1:size,J=1:size,I>J) a(I,J)=j
forall(I=1:size,J=1:size,I==J) a(I,J)=i
forall(I=1:size,J=1:size,I write(*,"(5(5I5,/))")a stop end 8、将两个有序数组合并 program shanchong integer n,m,l,k,j,i integer,allocatable::a(:) integer,allocatable::b(:) integer,allocatable::c(:) write(*,*) "输入数组A的数据个数" read(*,*) n write(*,*) "输入数组B的数据个数" read(*,*) m l=m+n allocate (a(n)) allocate (b(m)) allocate (c(l)) write(*,*) "从小到大输入A的元素" do i=1,n read(*,*) a(i) end do write(*,*) "从小到大输入B的元素" do i=1,m read(*,*) b(i) end do do i=1,n c(i)=a(i) end do i=1 do while(i do j=1,n-1 if(b(i) n=n+1 do k=n,2,-1 c(k)=c(k-1) end do c(1)=b(i) goto 10 else if(b(i)>=c(n))then n=n+1 c(n)=b(i) goto 10 else if(b(i)>c(j).and.b(i) n=n+1 do k=n,j+2,-1 c(k)=c(k-1) end do c(j+1)=b(i) goto 10 else if(b(i)==c(j))then n=n+1 do k=n,j+1,-1 c(k)=c(k-1) end do goto 10 end if end do 10 i=i+1 end do write(*,*) "合并后的数组按顺序输出为" do i=1,l write(*,*) c(i) end do End 9、输出一个6行的杨辉三角