1000 发表于 2020-4-16 08:17:14

正整型数据的各位数相加!!


不知道大家能不能看清 题目意思是 从屏幕输入一个正整型数据,通过程序,在屏幕上显示这个数据各位数相加的结果,比如输入1234,就显示10.
我很懵啊,也没规定输入的正整型数据的位数,我该怎么编写程序啊?????
题目提示(可能用到整型数据相除和mod)
谢谢大家!!!

楚香饭 发表于 2020-4-16 09:02:17

本帖最后由 楚香饭 于 2020-4-16 09:03 编辑

一直除10,直到小于10为止

Program www_fcode_cn
Implicit None
integer :: a
read(*,*) a
write(*,*) getDecimalismSum(a)

contains

Integer Function getDecimalismSum(x) result(s)
    Integer , intent(IN) :: x
    integer :: t
    t = abs(x)
    s = 0
    do
      s = s + mod(t,10)
      if( t < 10 ) exit
      t = t/10
    end do
End Function getDecimalismSum

End Program www_fcode_cn

1000 发表于 2020-4-16 09:25:41

楚香饭 发表于 2020-4-16 09:02
一直除10,直到小于10为止

Program www_fcode_cn


谢谢大佬!!!!
页: [1]
查看完整版本: 正整型数据的各位数相加!!