回 帖 发 新 帖 刷新版面

主题:新手求助

刚开始学这东西,在练习时遇到一问题:
如何用循环把有空格的字符串中的空格去掉后重新输出?如HAPPY NEW YEAR到HAPPYNEWYEAR
trim(string)把第一个空格后的字符都减去了……希望大虾们给点提示

回复列表 (共2个回复)

沙发


[em21][em21],竟然没人回答~~

板凳

就此问题写了个程序,稍微麻烦点,还请各路神仙们指教
program erase_space
implicit none
integer::j=0,i=1,lenth
character(len=100)::ch,sh
character(len=30)::string="aaa bbb da dfe ca" ! 以此为例子
lenth=LEN_trim(string) !字符串去掉最后一个字符后边的所有空格所得到的长度

do i=1,lenth

 sh=string(i:i)
 if (sh.ne." ")then
 read(string(i:i),*)ch(i-j:i-j)
 else 
 j=j+1
 read(string(i+1:i+1),*)ch(i+1-j:i+1-j)
 end if

 end do
 write(*,*)ch
end

结果aaabbbdadfeca

我来回复

您尚未登录,请登录后再回复。点此登录或注册