abcd和ABCD是字符串的内容还是名字?
解决方案 »
- 在外加图片小于我设定好的picturebox的大小时?如何做到让picturebox中的图片放大到一样大
- 修改ACCESS数据库字段
- combox 内容删除问题
- 求助:TreeView1与数据库连接问题
- 有做网格控件经验的请进
- 我用vb做视频点歌,请问我把以选歌曲放到一个临时数据库中。我先播放第一首,然后第二首,但我数据库有多首歌时,不知怎样控制,我使用的
- 请教VC->VB高手,在VC中的结构定义怎样转成VB中的结构
- 关于dll的问题
- to zyl910(910:分儿,我来了!) 进来复贴给分(a123c)
- 在程序中调用完EXCEL如何使EXCEL完全关闭?
- 帮忙看看这一小段代码——添加记录
- 如何用vb实现链表等数据结构
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
如有不懂的地方,请联系:
QQ:124181785(加好友时注明“CSDN-VB”)
MSN:[email protected]
//#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
}
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
laisiwei(刺猬):呵呵,可能误解我的意思了。
mahongxi(烤鸡翅膀)(色摸) :您很热心,也很高,但这张贴就不给你分了,另外两张贴给了你200分。呵呵,还满意吧。
pasl(阿龙1):默默无闻才显高手本色。
Oasis0535(绿洲):所谓高手,除了指出大方向外,还应该实践一下,您说呢?