回 帖 发 新 帖 刷新版面

主题:如何在一个文本文件中找一个最大字母?谢谢!

要求:
如有一个A.TXT文本文件,里面必定会出现26个英文字母中的任何几个字母,假设26个英文字母中A为最小,Y为最大,Z为不可能出现.
(只找红色部分的字母,字母后面都有冒号,我就要获取那个最大字母并带有冒号)

假设文本内容:
===================================


     1             PRDGD                    2996.5  
     2             EXJHND                   12354.7            
     3             LOTYCAL                  3004.3  
 [color=FF0000]D:[/color]  4             LRYRHJCA                 9350.3      
 [color=FF0000]C:[/color]  5        A    DGFYGRY                  1027.6        
 [color=FF0000]E:[/color]  6             PRDGD                    2996.5  
 [color=FF0000]F:[/color]  7             EXJHND                   12354.7            
     8             LOTYCAL                  3004.3  



===================================


目的:
如何获取获取这个文本里的最大一个字母(带冒号)并向后跳一位把结果保存在B.TXT文本里?

向后跳一位的意思是:如获取到的最大字母是F:,那么保存在B.TXT里的答案是G:
         如获取到的最大字母是Y:,那么保存在B.TXT里的答案是Z:


请问该怎么获取,谢谢!

回复列表 (共4个回复)

沙发

没看懂ing……

板凳

可能我表达不太好,不好意思!其实很简单,就查找第一楼的举例文本中的红颜色中的一个最大字母.
我先解释一下什么叫最大字符?如:A和B比,那么是B大,B和C比,那么是C大,按顺序排列,越到最后的为最大.

就是在该文本里获取最大的一个字符并向后退一位保存到另一个文本文件里.

向后退一位的意思就是:如:在一楼的文本中红色表示的这些字母中,其中[color=FF0000]F:[/color]为最大,那向后退一位就G:,就把这个G:保存在B.TXT文本文件中.

3 楼

不知道这个程序符合不符合你的要求。
OPEN "a.txt" FOR INPUT AS #1
CLS
max$ = "A"
DO WHILE NOT (EOF(1))
   INPUT #1, s$
   FOR i = 1 TO LEN(s$)
       t$ = MID$(s$, i, 1)
       IF ASC(t$) >= 65 AND ASC(t$) <= 89 AND MID$(s$, i + 1, 1) = ":" THEN
          IF t$ > max$ THEN max$ = t$
       END IF
   NEXT i
LOOP
CLOSE #1
OPEN "b.txt" FOR OUTPUT AS #2
max2$ = CHR$(ASC(max$) + 1) + ":"
WRITE #2, max2$
CLOSE #2
END

4 楼

谢谢!完全可以!

我来回复

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