abcd和ABCD是字符串的内容还是名字?

解决方案 »

  1.   

    Dim Str1 As String
    Dim Str2 As String
    Dim Ln1 As Long
    Dim StrS As String
    Dim i As Long
    Dim j As LongStr1 = "abcd"
    Str2 = "ABCD"Ln1 = Len(Str1)Print Str1
    For i = 1 To Ln1
        For j = 1 To Ln1 - i + 1
            StrS = Mid(Str1, 1, j - 1) & Mid(Str2, j, i) & Mid(Str1, j + i)
            Print StrS
        Next j
    Next i
      

  2.   

    以上代码为本人原创,由于时间仓促,没有注释。
    如有不懂的地方,请联系:
    QQ:124181785(加好友时注明“CSDN-VB”)
    MSN:[email protected]
      

  3.   

    闲着也是没事,100分拿来!// Prog6.cpp : Defines the entry point for the console application.
    //#include "stdafx.h"
    #include <stdio.h>
    #include <conio.h>
    #include <iostream.h>
    #include <malloc.h>
    #include <stdlib.h>
    #include <string.h>/*
    新年好。
    有两个字符串abcd和ABCD,要求产生出[a,A][b,B][c,C][d,D]
    所有组合成的字符串,即分别为:abcd,abcD,abCd,abCD,aBcd,
    aBcD,aBCD,aBCd。我只想到了要用一个两维数组,但接
    下来,怎么进行组合,一筹莫展,唉,以前,线性代数没有学
    好,才看到了自身的差距。高级程序员很多都是数学系出来的
    结论看来还是正确的。高手请接招。(只用写出算法描述,不
    用VB写过程也行)(另外刚看了电影无间道,不错不错,建议
    大家写完这个算法后看看这部电影。)
    *//*
    本程序采用递归实现题目要求[C语言]
    作者:马洪喜 
    CSDN账号:mahongxi(烤鸡翅膀)(色摸)
    */#define ROWS 4 //多维数组行数
    #define COLS 2 //多维数组列数
    #define DISPLAY_ROWS_OF_ONE_PAGE 40 //显示器每页显示行数/*下面为字符数组,注意存储方式
    本数组支持横向及纵向扩展,但要
    注意更改 ROWS 、COLS值
    */
    char g_ch[ROWS][COLS] = {
    'a','A',
    'b','B',
    'c','C',
    'd','D'
    };
    char chResult[255]; //用于存放结果字符串
    int g_index = 0; //在chResult中做游标
    int g_number = 0; //统计个数//诊断函数
    void assert(char *msg)
    {
    cout<<endl<<msg<<endl; exit(1);
    }/*
    函数名:fun
    参数:
    ch -- 字符数组
    R  -- 字符数组行数
    C  -- 字符数组列数
    说明:本程序主要函数,递归结构实现
    */
    void fun(char *ch,int R,int C)
    {
    if(R == 0)
    {
    chResult[++g_index] = '\0';
    cout <<chResult 
     <<"      "
     <<++g_number<< endl; if(g_number %DISPLAY_ROWS_OF_ONE_PAGE == 0)
    {
    getch();
    }//end of if(g_number... return;
    }//end of if(R == 0)

    for(int j = 0; j < C; j++)
    {
    g_index = ROWS - R;
    chResult[g_index] = *(ch + j); 
    fun(&g_ch[ROWS - R + 1][0],R - 1,C);
    }//end of for
    }//end of function
    void main(void)
    {
    if(ROWS < 1 || COLS < 1)
    {
    assert("Error!");
    } fun(&g_ch[0][0],ROWS,COLS); //invoke fun
    }
      

  4.   

    根据概率可以知道这种集合的总数为:C(4,0)+C(4,1)+C(4,2)+C(4,3)+C(4,4)=2^4=16种,这可以通过回调函数获取,代码如下:(包括一个COMMAND1控件和一个lIST1控件)
    Option Explicit
    Dim Char(1 To 2, 1 To 4) As StringPrivate Sub Command1_Click()
    Dim str As String
    Call ALl(0, str)
    Me.Caption = List1.ListCount
    End SubPrivate Sub Form_Load()Char(1, 1) = "a"
    Char(2, 1) = "A"
    Char(1, 2) = "b"
    Char(2, 2) = "B"
    Char(1, 3) = "c"
    Char(2, 3) = "C"
    Char(1, 4) = "d"
    Char(2, 4) = "D"
    End SubPublic Sub ALl(ByVal Level As Long, ByVal str As String)
        
        Dim no As Long, Str1 As String
        Level = Level + 1
        Debug.Print str
        For no = 1 To 2
            If Level <= 4 Then
                Str1 = str + Char(no, Level)
                Call ALl(Level, Str1)
    '            GoTo endFor
            Else
                List1.AddItem str
                Exit For
            End If
        Next no
        End Sub
    结果如下:
     0 abcd
     1 abcD
     2 abCd
     3 abCD
     4 aBcd
     5 aBcD
     6 aBCd
     7 aBCD
     8 Abcd
     9 AbcD
     10 AbCd
     11 AbCD
     12 ABcd
     13 ABcD
     14 ABCd
     15 ABCD
      

  5.   

    结贴。 
    laisiwei(刺猬):呵呵,可能误解我的意思了。
     mahongxi(烤鸡翅膀)(色摸) :您很热心,也很高,但这张贴就不给你分了,另外两张贴给了你200分。呵呵,还满意吧。
    pasl(阿龙1):默默无闻才显高手本色。
     Oasis0535(绿洲):所谓高手,除了指出大方向外,还应该实践一下,您说呢?
      

  6.   

    用两个for循环语句应该可以实现的.....先用inputbox分别输入两个或n个字符串,用数值转换函数分别取第n个字符,再分别转换,第n层循环次数取决与第n个字符串....