Oct.11, 2008
// Concatenate source to the end of dest
char* strcat(char* dest, const char* source, int flag)
{
assert( dest!=NULL && source!=NULL );
char* address=dest;
while(*dest) dest++;
while(*dest++ = *source++);
return address;
}
// Copy source to dest
char* strcpy(char *dest, const char *source, int flag)
{
assert( dest!=NULL && source!=NULL );
char* address=dest;
while(*dest++ = *source++);
return address;
}
// Compare str1 to str2
int strcmp(const char *str1, const char *str2, int flag)
{
for( ; *str1==*str2; str1++, str2++)
if(*str1=='\0') return 0;
return *str1 - *str2;
}
// Return the length of str
int strlen(const char *str, int flag)
{
int i=0; while(*str++) i++;
return i;
}
// Convert the string to the lowercase
char* strlwr(char *str, int flag)
{
assert( str!=NULL );
char* address=str;
while( (int)*str>=(int)'A' && (int)*str<=(int)'Z' )
(*str++)+=32;
return address;
}
// Convert the string to the uppercase
char* strupr(char *str, int flag)
{
assert( str!=NULL );
char* address=str;
while( (int)*str>=(int)'a' && (int)*str<=(int)'z' )
(*str++)-=32;
return address;
}
Reference:
The C programming Language.
Best Practice for programmer interview.
Internet.
Showing posts with label Code. Show all posts
Showing posts with label Code. Show all posts
Friday, October 10, 2008
Tuesday, August 12, 2008
vb.net汉诺塔递归源码
vb.net汉诺塔递归源码
-------------------------------------
Private Function Hanoi(ByVal n As Integer, ByVal x As Char, ByVal y As Char, ByVal z As Char)
If n = 1 Then
'编号为1的盘子从x到z
MoveDisc(x, 1, z)
Else
'n-1个盘子从x经z到y,
Hanoi(n - 1, x, z, y)
'编号为n的盘子从x到z
MoveDisc(x, n, z)
'n-1个盘子从y经x到z,
Hanoi(n - 1, y, x, z)
End If
End Function
Private Function MoveDisc(ByVal x As Char, ByVal n As Integer, ByVal z As Char)
i = i + 1
Me.RichTextBox1.AppendText(i & ":Move disc " & n & " from " & x & " to " & z & vbCrLf)
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Num As Integer
Dim x As Char = "x"
Dim y As Char = "y"
Dim z As Char = "z"
Me.RichTextBox1.Clear()
i = 0
Try
Num = CType(TextBox1.Text, Integer)
Hanoi(Num, x, y, z)
Catch ex As Exception
MsgBox("Error,please input a right number!", MsgBoxStyle.Information, "warn")
End Try
End Sub
-------------------------------------
Private Function Hanoi(ByVal n As Integer, ByVal x As Char, ByVal y As Char, ByVal z As Char)
If n = 1 Then
'编号为1的盘子从x到z
MoveDisc(x, 1, z)
Else
'n-1个盘子从x经z到y,
Hanoi(n - 1, x, z, y)
'编号为n的盘子从x到z
MoveDisc(x, n, z)
'n-1个盘子从y经x到z,
Hanoi(n - 1, y, x, z)
End If
End Function
Private Function MoveDisc(ByVal x As Char, ByVal n As Integer, ByVal z As Char)
i = i + 1
Me.RichTextBox1.AppendText(i & ":Move disc " & n & " from " & x & " to " & z & vbCrLf)
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Num As Integer
Dim x As Char = "x"
Dim y As Char = "y"
Dim z As Char = "z"
Me.RichTextBox1.Clear()
i = 0
Try
Num = CType(TextBox1.Text, Integer)
Hanoi(Num, x, y, z)
Catch ex As Exception
MsgBox("Error,please input a right number!", MsgBoxStyle.Information, "warn")
End Try
End Sub
Subscribe to:
Posts (Atom)