求VB中输入4个数,对这4个数进行排列

dfsf0898 2017-09-22 10:34:17
在VB中任意输入4个数,要求对这4个数进行排列
...全文
1654 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
KingOfPorcupine 2018-06-25
  • 打赏
  • 举报
回复
4个数abcd
shu(1 to 4)

shu1(1 to 4)
shu(1)=a
shu(2)=b
shu(3)=c
shu(4)=d

for j = 1 to 10000
for k = 1 to 4
if shu(k)= j then
for m = 1 to 4
if shu1(m)<>0 then
shu1(m) = shu(k)
exit for
end if
next
exit for
end if
next
next
一个烤羊腰子 2018-06-18
  • 打赏
  • 举报
回复
一个烤羊腰子 2018-06-18
  • 打赏
  • 举报
回复
在窗体上添加四个文本框和一个按钮,按钮的代码如下:
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single, d As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
d = Val(Text4.Text)
If a < b Then m = a: a = b: b = m
If a < c Then m = a: a = c: c = m
If a < d Then m = a: a = d: d = m
If b < c Then m = b: b = c: c = m
If b < d Then m = b: b = d: d = m
If c < d Then m = c: c = d: d = m
Print a, b, c, d
End Sub
然后在窗体上j就可以显示排序结果啦
运行界面如图
脆皮大雪糕 2018-06-17
  • 打赏
  • 举报
回复
谁啊,又把这坟给挖开来
dululululu 2018-06-17
  • 打赏
  • 举报
回复
可以用选择排序发和冒泡排序法来对这四个数进行排序。 我以从小到大的顺序进行示范,代码如下: 选择排序法: for i=1 to n-1 p=i for j=i+1 to n if a(p)>a(j) then p=j next j temp=a(i): a(i)=a(p): a(p)=temp next i 冒泡排序法: for i=1 to n-1 for j=1 to n-i if a(j)>a(j+1) then temp=a(j) : a(j)=a(j+1) : a(j+1)=temp end if next j next i 以上是两种排序发,希望你能采纳
熊孩子开学喽 2018-05-22
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
仅供参考,尽管不是VB6:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int m;//记录字符串长度
int n;//记录字符串中的字符种类数
char map[256];//记录是哪几种字符
int count[256];//记录每种字符有多少个
int stack[1000];//递归用的栈,并记录当前生成的排列
void Make_Map(char *str) {//统计字符串的相关信息
    int s[256];
    int i;
    memset(s,0,sizeof(s));
    memset(count,0,sizeof(count));
    m=strlen(str);
    while(*str) {
        s[*str]++;
        str++;
    }
    n=0;
    for (i=0;i<256;i++)
        if (s[i]) {
            map[n]=i;
            count[n]=s[i];
            n++;
        }
}
void Find(int depth) {//递归式回溯法生成全排列
    if (depth==m) {
        int i;
        for (i=0;i<depth;i++) putchar(map[stack[i]]);
        putchar('\n');
    } else {
        int i;
        for (i=0;i<n;i++)
            if (count[i]) {
                stack[depth]=i;
                count[i]--;
                Find(depth+1);
                count[i]++;
            }
    }
}
void main(int argc,char**argv) {
    if (argc<2) {
        printf("%s 要产生全排列的字符串\n",argv[0]);
        return;
    }
    Make_Map(argv[1]);
    Find(0);
}
哈哈哈, 你尽折腾人. 不过对于不肯学就知道问的人, 我还是同意你的恶心方式的.
一个烤羊腰子 2018-04-30
  • 打赏
  • 举报
回复
Private Sub Command1_Click() Dim a(10) As Integer For i = 1 To 4 Randomize a(i) = Int(Rnd * 90) + 10 Next i For i = 1 To 3 For j = i + 1 To 4 If a(i) > a(j) Then r = a(i) a(i) = a(j) a(j) = r End If Next j Next i For i = 1 To 4 Print a(i); Next i End Sub
熊孩子开学喽 2017-10-18
  • 打赏
  • 举报
回复
建个数据库, 存到数据库里去, 然后select ...order by 还有一个办法: 1: 用open filename for output 的方法建立以这四个数为名字的空文件. 2: 用shell调用dir/n命令按名字排序输出, 或者后面加>>xxx.txt把结果输出到文本...... 以上都是受@of123的"启发"所开的脑洞. 本人只能保证思路可行. 代码你问他要吧.
赵4老师 2017-10-09
  • 打赏
  • 举报
回复
也许是Chen8013的“眼误”也说不定呢......
舉杯邀明月 2017-10-06
  • 打赏
  • 举报
回复
引用 11 楼 zhao4zhong1 的回复:
排列和排序是一回事?
好吧,确实不是一回事。 当时看到这个帖子,想到的是“排序”去了。 也许是楼主的“笔误”也说不定呢……  如果是要“排列”,那么还得说清楚是“全排列”,还是“选排列”啊;对”排列顺序“有没有要求啊……  等等的条件…… 但楼主却是P都不放一个…………
lylkr 2017-10-06
  • 打赏
  • 举报
回复
冒泡,基本的
断桥烟雨qwq 2017-10-02
  • 打赏
  • 举报
回复
好牛啊!怎么搞的?
赵4老师 2017-09-25
  • 打赏
  • 举报
回复
排列和排序是一回事?
脆皮大雪糕 2017-09-25
  • 打赏
  • 举报
回复
引用 8 楼 of123 的回复:
在 VB 中,最省事的办法,就是利用属性 Sorted = True 的 Listbox 排序。 1 利用 List1.Clear 这样的语句清空 ListBox。 2 将 4 个数通过 List1.AddItem a 这一类语句放入 LostBox。(不会循环和数组,就写 4 句)。 ListBox 中的数已经自动排序,按 Index 顺序读出即可。
那干脆用vb.net 往sortedlist里面扔
  • 打赏
  • 举报
回复
楼上真会玩
of123 2017-09-25
  • 打赏
  • 举报
回复
在 VB 中,最省事的办法,就是利用属性 Sorted = True 的 Listbox 排序。 1 利用 List1.Clear 这样的语句清空 ListBox。 2 将 4 个数通过 List1.AddItem a 这一类语句放入 LostBox。(不会循环和数组,就写 4 句)。 ListBox 中的数已经自动排序,按 Index 顺序读出即可。
  • 打赏
  • 举报
回复
冒泡最好理解了~
X-i-n 2017-09-24
  • 打赏
  • 举报
回复
排序算法是入门级的最基础算法,建议楼主先搜索一下常见排序算法学习一下。
脆皮大雪糕 2017-09-24
  • 打赏
  • 举报
回复
明显的作业贴,没什么好回答的
舉杯邀明月 2017-09-24
  • 打赏
  • 举报
回复
void main(int argc,char**argv) { } 哦,对了,这种风格应该是C ,不是C++ 。
加载更多回复(3)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧