继续学习Fortran。今天的作业是英文字母大小写转换,即大写字母转换为小写字母,小写字母转换为大写字母。

这道题主要是考查字符与ASCII码之间的转换。依据规则,小写字母的ASCII码减32就是大写字母的ASCII码,同样,大写字母的ASCII码加32就是小完蛋字母的ASCII码。然后再转换为字符。

字符转ASCII函数:ichar();ASCII转字符函数:char();字符长度函数:len_trim()。

代码输入:

program test15 implicit none integer::i character(len=20)::str_s write(*,*)"输入字符串:" read(*,*)str_s do i=1,len_trim(str_s),1 if(str_s(i:i).GE."a".AND.str_s(i:i).LE."z") then str_s(i:i)=char(ichar(str_s(i:i))-32) else if(str_s(i:i).GE."A".and.str_s(i:i).LE."Z") then str_s(i:i)=char(ichar(str_s(i:i)) 32) end if end if end do write(*,*)"转换后:",str_s pause stop end program test15

朋友们看到代码中有"GE","LE","AND"等,其实这是Fortran的特色运算符:

英文字母的大写方法(英文字母大小写转换)(1)

关系运算符

新版的Fortran中,也可以直接用>,<,>=等数学符号。

英文字母的大写方法(英文字母大小写转换)(2)

逻辑运算符

掌握了Fortran基础语法,后面的作业就有些难度了,下期见,让我们一起学Fortran。

Fortran我也是初学,好久不写代码了,欢迎朋友们指正。

英文字母的大写方法(英文字母大小写转换)(3)

,