You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Fortran输出指定对称数字三角形而非帕斯卡三角

Fortran对称数字三角代码修改方案

核心修改思路

  • 移除原代码中计算组合数生成帕斯卡三角的逻辑,改为按「从1递增到当前行号、再递减回1」的规则输出每行数字
  • 调整输出格式参数,匹配目标三角形的对齐效果
  • 修复原代码末尾换行输出的语法错误

修改后完整代码

program symmetric_triangle
implicit none
integer :: i, j, n
! 读取输入的行数n
write (*, '("input n: ")', advance="no")
read(*,*) n
! 遍历每一行
do i = 1, n
    ! 输出行前导空格,匹配目标对齐效果
    do j = 1, n - i
        write(*,'(2X)', advance="no")
    enddo
    ! 输出从1到i的递增部分
    do j = 1, i
        write(*,'(I1, 1X)', advance="no") j
    enddo
    ! 输出从i-1到1的递减部分
    do j = i - 1, 1, -1
        write(*,'(I1, 1X)', advance="no") j
    enddo
    ! 换行
    write(*,*)
end do
end program symmetric_triangle

运行效果说明

输入n=4时,输出结果和要求的目标格式完全一致:

1 
    1 2 1 
  1 2 3 2 1 
1 2 3 4 3 2 1 

内容的提问来源于stack exchange,提问作者McAngel25

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 02:36:02