|
___(4)___
}
New = ( char *)malloc( ( length+1 ) *sizeof(char) );
for ( i=0;i
___(5)___
New[length]='\0';
return (New);
}
void main()
{ char old[256];
int key , num=0;
printf("\nPlease input the telegraph: \n");
while ( num<255 && ( old[num++] = getchar()) != '\n' );
old [ (num==255)?num:num-1] = '\0';
do
{ printf( "\nPlease input Key ( Key>1 ):" );
scanf("%d",&key);
} while ( key<=1 );
printf( "\nThe decode of telegraph:'%s' is:\n'%s'\n",old,decode( old,key ) );
}
试题五(15分,每空3分)
阅读以下说明及Visual Basic 程序代码,将应填入___(n)___处的字句写在答题纸的对应栏内。
[说明]
本程序实现如下功能:首先,单击“生成”按钮,生成一个由10个随机大写字母组成的字符串,并在文本框中显示。然后,单击“排序”按钮,将此随机字符串中的各个字母按递增顺序添加到列表框中。
程序运行界面如下:

[程序]
As String
Private Sub get_Click()
Dim i As Integer
Randomize
For i = 1 To 10
str1 = Trim(str1) & Chr(Int( ___(1)___ ))
Next
Text1.Text = str1
End Sub
Private Sub sort_Click()
Dim i As Integer
Dim j As Integer
For i = 1 To 26
j = ___(2)___
Do While j > 0
___(3)___
j = j - 1
Loop
Next
End Sub
Private Function search(str1 As String, str2 As String) As Integer
Dim int1 As Integer, int2 As Integer
int1 = 1
Do
int1 = ___(4)___
If int1 = 0 Then Exit Do
int2 = int2 + 1
int1 = int1 + 1
Loop
search = ___(5)___
End Function (
试题六(15分,每空3分)
阅读以下说明和C++程序,将应填入___(n)___处的字句写在答题纸的对应栏内。
[说明]
字符串在程序设计中扮演着重要角色。现需要设计字符串基类string,包含设置字符串、返回字符串长度及内容等功能。另有一个具有编辑功能的串类edit_string,派生于string,在其中设置一个光标,使其能支持在光标处的插入、删除操作。
[程序]
#include
#include
#include
class string
{
int length;
char *data;
public:
int get_length() { return length; }
char *get_data() { return data; }
~string() { delete data; }
int set_data( int in_length, char *in_data);
int set_data( char *data );
void print() { cout<
};
class edit_string : public string
{
int cursor;
public:
int get_cursor() { return cursor; }
void move_cursor( int dis ) { cursor=dis; }
int add_data(string *new_data);
void delete_data( int num );
};
int string::set_data( int in_length, char *in_data )
{
length=in_length;
if(!data)
delete data;
___(1)___
strcpy(data,in_data);
return length;
}
int string::set_data( char *in_data )
{
___(2)___
if(!data)
delete data;
___(1)___
strcpy(data,in_data);
return length;
}
int edit_string::add_data( string *new_data )
{
int n,k,m;
char *cp,*pt;
n=new_data->get_length();
pt=new_data->get_data();
cp=this->get_data();
m=this->get_length();
char *news = new char[n+m+1];
for( int i=0; i
news[i]=cp[i];
k=i;
for( int j=0; j
news[i]=pt[j];
cursor=i;
for( j=k; j
___(3)___
news[i]='\0';
___(4)___
delete news;
return cursor;
}
void edit_string::delete_data( int num )
{
int m;
char *cp;
cp=this->get_data();
m=this->get_length();
for( int i=cursor; i
___(5)___
cp[i]='\0';
}
试题七(15分,每空3分)(
阅读以下说明及Visual Basic 程序代码,将应填入___(n)___处的字句写在答题纸的对应栏内。
[说明]
设窗体上有两个文本框和一个按钮,在第一个文本框text1中输入一个全部由“0”和“1”组成的字符串,单击按钮,在第二个文本框text2中显示出给定字符串中连续的0和连续的1中连续字符数目的最大值。如果输入的字符串中有不是“0”和“1”的字符,使用消息框显示错误信息。
运行界面如下:
[程序]
Private Sub Command1_Click()
Dim strSource As String
Dim str1 As String
Dim result As Integer
Dim int1 As Integer, num As Integer
strSource = Text1.Text
If Len(strSource) = 0 Then
MsgBox "请在文本框中输入由0和1组成的字符串"
Exit Sub
End If
For int1 = 1 To Len(strSource)
___(1)___
If str1 <> "1" And str1 <> "0" Then
MsgBox "不能输入非0或非1的字符"
Exit Sub
End If
Next
str1 = ___(2)____
num = 1
For int1 = 2 To Len(strSource)
上一页 [1] [2] [3] 下一页 |