| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4944 人关注过本帖
标题:编程题求助:假定输入的字符串包含字母和*号,使字符串尾部的*不得多于n个; ...
只看楼主 加入收藏
c530837027
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2011-12-8
结帖率:85.71%
收藏
已结贴  问题点数:20 回复次数:5 
编程题求助:假定输入的字符串包含字母和*号,使字符串尾部的*不得多于n个;做多于n个,则删除多于的*号,若少于或者等于n个,则什么也不做,字符串中间和前面的*号
clear
accept "请输入一个字符串(字符串只包含字母和*号):" to zf
input "请输入字符串尾部*号个数:" to n
l=len(zf)
s=0
for i=l to 1 step -1
  k=substr(zf,i,1)
  if k="*"
    s=s+1
   else
    exit
  endif
endfor
if s>n
  zf1=left(zf,(l-(s-n)))
 else
  zf1=zf
endif
?"字符串应为:",zf1



应该是这样编吧,但运行出来不对怎么回事啊??
搜索更多相关主题的帖子: 字母 字符串 
2012-01-07 21:07
瞎鼓捣老张
Rank: 2
等 级:论坛游民
帖 子:8
专家分:14
注 册:2011-12-21
收藏
得分:0 
应该只对输入字符串后面连续的*号做处理,中间和前面的不做处理。程序应该没问题。
2012-01-07 22:08
c530837027
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2011-12-8
收藏
得分:0 
回复 2楼 瞎鼓捣老张
恩,明白了只需要把accept改成input就行了。。。
2012-01-07 22:17
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:10 
你觉得这个算法没有漏洞了?

授人以渔,不授人以鱼。
2012-01-08 03:43
软件服务
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:344
专家分:736
注 册:2011-12-23
收藏
得分:10 
for i=l to 1 step -1
   if substr(zf,i,1)#"*"
     exit
   endif
 endfor
 if l-i>n
   zf1=left(zf,i)
 else
   zf1=zf
 endif
 
2012-01-08 12:58
c530837027
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2011-12-8
收藏
得分:0 
回复 4楼 TonyDeng
漏洞??
2012-01-08 15:30
快速回复:编程题求助:假定输入的字符串包含字母和*号,使字符串尾部的*不得多于 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020232 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved