試題五 下題是一個“加法計算器”應用程序,其界面及運行情況如下,請?zhí)羁铡?/P>
在該界面中,“被加數”、“加數”以及“和數”等文字稱為標簽(Label),相應的三個輸入輸出數據框稱為文本框(TextBox),此外還有三個命令按鈕(CommandButton)。用戶在被加數和加數相應的文本框內輸入數據,再單擊“加法”按鈕,便能在“和數”對應的框中看到相加的結果。當用戶單擊“清除”按鈕時,就會清除各文本框中的數據。當用戶單擊“關閉”按鈕時就會關閉該窗口并退出應用程序。在文本框中輸入數據時,用戶可以進行一般的插入、修改和刪除操作。
各個對象、有關的屬性名以及需要修改的屬性值設計如下:
對象 屬性名 屬性值
窗體 (名稱) frmAdder
Caption (1)
標簽1 Caption 被加數
標簽2 Caption 加數
標簽3 Caption 和數
文本框1 (名稱) txt1
Text (空)
文本框2 (名稱) txt2
Text (空)
文本框3 (名稱) txt3
Text (空)
按鈕1 (名稱) (2)
Caption 加法
按鈕2 (名稱) cmdClear
Caption 清除
按鈕3 (名稱) cmdClose
Caption 關閉
為該窗體中各個命令按鈕的單擊事件編寫程序代碼:
Private Sub cmdAdd_Click()
txt3.text=Str$( (3) ) '加法運算獲得和數
End Sub
Private Sub (4) ()
txt1.Text="" '空字符串賦值給文本框txt1的內容
txt2.Text=""
txt3.Text=""
End Sub
Private Sub cmdClose_Click()
(5) '退出應用程序
End Sub
試題六 (試題六和試題七選做一題)
閱讀下列函數說明和C函數,將應填入 n 處的字句寫在答題紙的對應欄內。
[程序說明]
本程序從正文文件text.in中讀入一篇英文短文,統(tǒng)計該短文中不同單詞及出現(xiàn)次數,并按詞典編輯順序將單詞及出現(xiàn)次數輸出到正文文件word.out中。
程序用一棵有序二叉樹存儲這些單詞及其出現(xiàn)的次數,邊讀入邊建立,然后中序遍歷該二叉樹,將遍歷經過的二叉樹上的結點的內容輸出。
# include
# include
# include
# include
# define INF "text.in"
# define OUTF "word.out"
typedef struct treenode {
char *word;
int count;
struct treenode *left, *right;
} BNODE;
int getword(FILE *fpt, char *word)
{ char c;
c=fgetc(fpt);
if ( c == EOF)
return 0;
while(!(tolower(c) >= 'a' && tolower(c) <= 'z'))
{ c=fgetc(fpt);
if ( c == EOF)
return 0;
} /* 跳過單詞間的所有非字母字符 */
while(tolower(c) >= 'a' && tolower(c) <= 'z')
{ *word++ = c;
c = fgetc(fpt);
}
*word = '\0';
return 1;
}
void binary_tree(BNODE **t, char *word)
{ BNODE *ptr, *p; int compres;
p = NULL; (1) ;
while (ptr) /* 尋找插入位置 */
{ compres=strcmp(word, (2) ); /* 保存當前比較結果 */
if (!compres)
{ (3) ; return; }
else
{ (4) ;
ptr = compres>0 ? ptr->right : ptr->left;
}
}
ptr = (BNODE *)malloc(sizeof(BNODE));
ptr->left = ptr->right = NULL;
ptr->word = (char *)malloc(strlen(word)+1);
strcpy(ptr->word, word);
ptr->count = 1;
if (p == NULL)
(5) ;
else if (compres > 0)
p->right = ptr;
else
p->left = ptr;
}
void midorder(FILE *fpt, BNODE *t)
{ if ( t == NULL )
return;
midorder(fpt, t->left);
fprintf(fpt, "%s %d\n", t->word, t->count);
midorder(fpt, t->right);
}
void main()
{ FILE *fpt; char word[40];
BNODE *root=NULL;
if ((fpt=fopen(INF, "r")) == NULL)
{ printf("Can't open file %s\n", INF);
return;
}
while(getword(fpt, word) == 1)
binary_tree( &root, word );
fclose(fpt);
fpt = fopen(OUTF, "w");
if (fpt == NULL)
{ printf("Can't open file %s\n", OUTF);
return;
}
midorder(fpt, root);
fclose(fpt);
}
相關推薦:計算機軟考程序員備考:程序設計知識點匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |