| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2209 人关注过本帖
标题:继续[求助]VB编程的一道题
只看楼主 加入收藏
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
 问题点数:0 回复次数:35 
继续[求助]VB编程的一道题


让用户输入一段字符(中文除外,字符串长度不能大于30),除把a-z排序好输出之外,其他字符都按原来的位置输出
例如:
输入:ccbbaa4ggffee
输出:aabbcc4eeffgg

引用一下版主的话:
先扫描一次 提取出所有字母所在的下标列表存为L(i)
然后以L(i)为下标范围对原字符串进行冒泡排序即可。


我学VB刚刚1星期,就算只给思路也能不能再具体点啊,比如具体用到什么函数?换位思考一下嘛.

搜索更多相关主题的帖子: 字符 扫描 输出 函数 
2007-08-30 12:46
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
得分:0 

被冷漠了……

2007-08-30 12:53
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
得分:0 
在引用一次版主的话:

先扫描一次 提取出所有字母所在的下标列表存为L(i)
然后以L(i)为下标范围对原字符串进行冒泡排序即可。

英文字母是冒泡排序好了,那些非字母的字符串怎么按原来位置输出呢?
2007-08-30 12:55
multiple19O2
Rank: 1
等 级:新手上路
帖 子:326
专家分:0
注 册:2007-8-29
收藏
得分:0 

非字母的你不理他就是了。


Dim Ins(1000) As String
Dim I,j,k
Dim L(1000) As Integer
j=1
For i=1 to len(inputstr)
Ins(i)=Mid(Inputstr,i,1)
if Instr("abcdefghilmnopqrstuvwxyz",Ins(i))>0 Then
L(j)=I
J=J+1
End If
next
j=j-1
for i=1 to j-1
for k=i+1 to j
If Ins(i)>Ins(k) Then
Ins(i)=Chr(Asc(Ins(j)) Xor Asc(Ins(i)))
ins(j)=Chr(Asc(Ins(j)) Xor Asc(Ins(i)))
Ins(i)=Chr(Asc(Ins(j)) Xor Asc(Ins(i))) '这3行完成变量交换
next 'k
next 'i
Dim Outstr as string
for i=1 to 1000 '本程序中下标从1开始使用的
outstr=outstr & Ins(i)
Next

[此贴子已经被作者于2007-8-30 12:57:32编辑过]

2007-08-30 12:56
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
得分:0 

谢谢,我先去研究一下,有不明白的还得回来问

2007-08-30 13:04
multiple19O2
Rank: 1
等 级:新手上路
帖 子:326
专家分:0
注 册:2007-8-29
收藏
得分:0 
你半天不回复 那我先写了

JackyNone 2007-8-30 12:26:26

能不能给出具体的代码?难道这个论坛就没有高手了么?

http://bbs.bc-cn.net/viewthread.php?tid=166467

这就是你说的话么?

首先你应该有这样一个概念:没有人有义务一定要帮助你。决不要自以为够资格得到答案,你没这种资格。毕竟你没有为这种服务支付任何报酬。你要自己去“挣”回一个答案,而不仅仅是被动的从他人处索要知识。
2007-08-30 13:05
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
得分:0 
是是,您说的是,不过您给出的部分代码不能够实现我所要的效果.我不要代码了,给我说一下具体的思路吧。我要理解。

让用户输入一段字符(中文除外,字符串长度不能大于30),除把a-z排序好输出之外,其他字符都按原来的位置输出
例如:
输入:ccbbaa4ggffee
输出:aabbcc4eeffgg

我目前只想到了如何将英文字母排序好,就是不知道怎么把除了英文字母以外的所有字符给按原来的位置给输出。如果不管那些除英文字母以外的字符好象就会被放到最后面输出


2007-08-30 13:29
multiple19O2
Rank: 1
等 级:新手上路
帖 子:326
专家分:0
注 册:2007-8-29
收藏
得分:0 
既然我没有义务回答你的问题(注意 我不是版主)

我也不保证给的回答经过测试,但我额外保证每个回答都经过我考虑。至少能体现一些思想。

你要的思路不是在顶楼么

当然了 本人可以有偿服务。
2007-08-30 13:40
JackyNone
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-8-30
收藏
得分:0 


您就做一回好人吧……

况且您给的思路只是一部分,怎么将非英文字母的字符按用户输入时的位置输出呢?
2007-08-30 13:49
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
首先去掉未排序字符串中的非字母字符,然后将新生成的只含字母的字符串进行排序,然后扫描原未排序字符串中的各非字母所在位置并将其插入排序后的字符串即可。

VB QQ群:47715789
2007-08-30 14:03
快速回复:继续[求助]VB编程的一道题
数据加载中...
 
   



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

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